3 # Makefile to make uae.
5 include $(TOP)/config/make.cfg
8 UAESRCDIR := $(SRCDIR)/$(CURDIR)
58 EXEDIR := $(CONTRIBDIR)/Emu/UAE
60 USER_CFLAGS := -O2 -fomit-frame-pointer -Wall -Wno-unused\
61 -Wno-format -W -Wmissing-prototypes -Wno-sign-compare \
62 -Wstrict-prototypes -DGCCCONSTFUNC='__attribute__((const))'\
64 -fno-exceptions -DUNALIGNED_PROFITABLE\
65 -fno-strength-reduce -DREGPARAM='__attribute__((regparm(3)))'\
66 -DX86_ASSEMBLY -DOPTIMIZED_FLAGS -D__inline__=inline\
67 -I$(UAESRCDIR) -I$(UAESRCDIR)/include \
68 -I$(TOP)/$(CURDIR) -I$(TOP)/$(CURDIR)/include \
71 #MM- contrib-complete: uae
72 #MM- uae : uae-$(AROS_TARGET_CPU)
73 #MM uae-i386 : setup includes uae-setup uae-od-aros uae-docs-copy
74 #MM- uae-quick : uae-setup uae-od-aros-quick uae-docs-copy
77 uae-setup :: $(OBJDIR)/.build_setup_check
79 $(OBJDIR)/.build_setup_check:
80 rm -f machdep; ln -s $(SRCDIR)/$(CURDIR)/md-i386-gcc/ machdep
81 rm -f osdep; ln -s $(SRCDIR)/$(CURDIR)/od-amiga/ osdep
82 rm -f threaddep; ln -s $(SRCDIR)/$(CURDIR)/td-amigaos/ threaddep
83 rm -f sounddep; ln -s $(SRCDIR)/$(CURDIR)/sd-generic/ sounddep
84 %mkdirs_q $(OBJDIR)/machdep $(EXEDIR)
85 echo '#include "sounddep/sound.c"' >sd-sound.c
86 echo '#include "sounddep/sound.h"' >sd-sound.h
87 echo '#include "threaddep/thread.c"' >td-thread.c
88 echo '#include "od-generic/joystick.c"' >od-joy.c
89 echo '#include "targets/t-aros.h"' >target.h
90 echo '#include "fpp-unknown.h"' >md-fpp.h
91 echo '#include "md-i386-gcc/support.c"' >md-support.c
92 touch $(OBJDIR)/.build_setup_check
94 #MM uae-clean : uae-od-aros-clean
96 $(RM) cpudefs.* cpustbl.* cputbl.h blitfunc.* blittable.* blit.h \
97 cpufast.s cpuemu.c cpuopti genblitter build68k gencpu\
98 sd-sound.c sd-sound.h od-joy.c target.h md-fpp.h md-support.c\
99 machdep osdep threaddep sounddep $(OBJDIR)
114 blitfunc.c: genblitter blitfunc.h
116 blitfunc.h: genblitter
118 blittable.c: genblitter blitfunc.h
121 # Temporarily disabled for gcc-3.x compatibility reasons
123 #cpufast.s: cpuemu.c cpuopti
124 # $(CC) -S $(subst -g3, , $(CFLAGS)) $< -o cputmp.s
125 # ./cpuopti <cputmp.s >$@
128 $(OBJDIR)/_writelog.o : writelog.c
129 $(HOST_CC) $(USER_CFLAGS) $^ -c -o $@
131 genblitter: genblitter.c blitops.c $(OBJDIR)/_writelog.o
132 $(HOST_CC) $(USER_CFLAGS) $^ -o $@
133 build68k: build68k.c $(OBJDIR)/_writelog.o
134 $(HOST_CC) $(USER_CFLAGS) $^ -o $@
135 gencpu: gencpu.c readcpu.c cpudefs.c missing.c $(OBJDIR)/_writelog.o
136 $(HOST_CC) $(USER_CFLAGS) $^ -o $@
141 # gencpu also creates cpustbl.c and cputbl.h
145 cpudefs.c: table68k build68k
151 USER_LDFLAGS := "$(GENDIR)/$(CURDIR)/od-aros.o"
152 %build_prog mmake=uae-i386 \
153 progname=uae targetdir=$(EXEDIR) files=$(FILES) \
154 uselibs="SDL GL arossupport amiga arosc m" usehostlibs=gcc nix=yes
160 %copy_dir_recursive mmake=uae-docs-copy src=$(SRCDIR)/$(CURDIR)/../docs dst=$(EXEDIR)/Docs