ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/MacOSX/Makefile.in
Revision: 1.26
Committed: 2007-06-15T21:46:25Z (17 years ago) by gbeauche
Branch: MAIN
Changes since 1.25: +26 -7 lines
Log Message:
Disable cxmon by default for MacOS X builds. Add hackery to cross-compile
a working 10.2/ppc binary.

File Contents

# Content
1 # Unix makefile for Basilisk II
2
3 ## System specific configuration
4 SHELL = /bin/sh
5
6 HOST_CC = @CC@
7 HOST_CXX = @CXX@
8 CC_PROG = @CC@
9 CXX_PROG = @CXX@
10 CFLAGS = @CFLAGS@ -g
11 CXXFLAGS = @CXXFLAGS@ -g
12 CPPFLAGS = @CPPFLAGS@ -I../include -I. -I../uae_cpu
13 DEFS = @DEFS@ @DEFINES@ -D_REENTRANT -DAQUA -DFPU_IEEE
14 LDFLAGS = @LDFLAGS@
15 LIBS = @LIBS@
16 MONSRCS = @MONSRCS@
17 BLESS = @BLESS@
18 LN_S = ln -s
19
20 ## Compilers selection (XXX hackery for 10.2 cross-compilation...)
21 SDK_VERSION.ppc = @PPC_SDK_VERSION@
22 SDK_VERSION = $(SDK_VERSION.$(ARCH))
23 ifeq ($(SDK_VERSION), 10.2.8)
24 CC_PROG = gcc-3.3
25 CXX_PROG = g++-3.3
26 SDK_ROOT = /Developer/SDKs/MacOSX10.2.8.sdk
27 CC_ROOT = -F$(SDK_ROOT)/System/Library/Frameworks
28 LDFLAGS += -Wl,-syslibroot,$(SDK_ROOT)
29 endif
30 ifeq ($(SDK_VERSION), 10.3.9)
31 CC_ROOT = -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3
32 endif
33 ifeq ($(SDK_VERSION), 10.4)
34 CC_ROOT = -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
35 endif
36 CC = $(CC_PROG) $(CC_ROOT) -arch $(ARCH)
37 CXX = $(CXX_PROG) $(CC_ROOT) -arch $(ARCH)
38
39 ## slirp network emulation code
40 WANT_SLIRP = @WANT_SLIRP@
41 ifeq ($(WANT_SLIRP), yes)
42 CPPFLAGS += -I../slirp
43 SLIRP_CFLAGS = @SLIRP_CFLAGS@
44 SLIRP_SRCS = @SLIRP_SRCS@
45 SLIRP_OBJS = $(SLIRP_SRCS:../slirp/%.c=obj/%.o)
46 endif
47
48 ## CPU emulation code
49 WANT_JIT = @WANT_JIT@
50 WANT_JIT_DEBUG = @WANT_JIT_DEBUG@
51 USE_JIT = no
52 CPUSRCS = \
53 ../uae_cpu/basilisk_glue.cpp ../uae_cpu/readcpu.cpp \
54 ../uae_cpu/memory.cpp ../uae_cpu/newcpu.cpp ../uae_cpu/fpu/fpu_ieee.cpp
55 GEN_CPUSRCS = \
56 cpustbl.cpp cpudefs.cpp \
57 cpuemu1.cpp cpuemu2.cpp cpuemu3.cpp cpuemu4.cpp \
58 cpuemu5.cpp cpuemu6.cpp cpuemu7.cpp cpuemu8.cpp
59 ifeq ($(ARCH), i386)
60 USE_JIT = $(WANT_JIT)
61 DEFS += -DUNALIGNED_PROFITABLE -DREGPARAM="__attribute__((regparm(3)))"
62 DEFS += -DX86_ASSEMBLY -DOPTIMIZED_FLAGS -DSAHF_SETO_PROFITABLE
63 endif
64 ifeq ($(ARCH), x86_64)
65 USE_JIT = $(WANT_JIT)
66 DEFS += -DUNALIGNED_PROFITABLE
67 DEFS += -DX86_64_ASSEMBLY -DOPTIMIZED_FLAGS
68 endif
69 ifeq ($(USE_JIT), yes)
70 DEFS += -DUSE_JIT -DUSE_JIT_FPU
71 ifeq ($(WANT_JIT_DEBUG), yes)
72 DEFS += -DJIT_DEBUG
73 endif
74 CPUSRCS += \
75 ../uae_cpu/compiler/compemu_support.cpp \
76 ../uae_cpu/compiler/compemu_fpp.cpp
77 GEN_CPUSRCS += \
78 cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp \
79 cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp \
80 compemu1.cpp compemu2.cpp compemu3.cpp compemu4.cpp \
81 compemu5.cpp compemu6.cpp compemu7.cpp compemu8.cpp \
82 cpustbl_nf.cpp compstbl.cpp
83 endif
84
85 GEN_DIR = gen
86 ifneq ($(ARCH),)
87 GEN_DIR = gen.$(ARCH)
88 endif
89 CPUSRCS += $(foreach file, $(GEN_CPUSRCS), $(GEN_DIR)/$(file))
90 CPPFLAGS += -I$(GEN_DIR)
91
92 ## Files
93 UNIXSRCS = vm_alloc.cpp vm_alloc.h sigsegv.cpp sigsegv.h video_vosf.h video_blit.cpp \
94 xpram_unix.cpp user_strings_unix.cpp user_strings_unix.h \
95 serial_unix.cpp ether_unix.cpp sys_unix.cpp timer_unix.cpp \
96 sshpty.c sshpty.h strlcpy.c strlcpy.h semaphore.h
97 SRCS = ../main.cpp main_macosx.mm ../prefs.cpp ../prefs_items.cpp prefs_macosx.mm \
98 sys_unix.cpp sys_darwin.cpp ../rom_patches.cpp ../slot_rom.cpp ../rsrc_patches.cpp \
99 ../emul_op.cpp ../macos_util.cpp ../xpram.cpp xpram_unix.cpp ../timer.cpp \
100 timer_unix.cpp ../adb.cpp ../serial.cpp serial_unix.cpp ../ether.cpp ether_unix.cpp \
101 ../sony.cpp ../disk.cpp ../cdrom.cpp ../scsi.cpp ../video.cpp video_macosx.mm \
102 vm_alloc.cpp sigsegv.cpp ../audio.cpp ../extfs.cpp extfs_macosx.mm \
103 ../user_strings.cpp user_strings_unix.cpp clip_macosx.cpp misc_macosx.mm \
104 ../dummy/scsi_dummy.cpp \
105 audio_macosx.cpp AudioBackEnd.cpp AudioDevice.cpp MacOSX_sound_if.cpp \
106 NNThread.m Emulator.mm EmulatorView.mm Controller.mm PrefsEditor.mm \
107 sshpty.c strlcpy.c \
108 $(MONSRCS) $(CPUSRCS) $(SLIRP_SRCS)
109
110 ## Documentation files
111 DOCS = README.txt Credits.html ToDo.html HowTo.html Versions.html
112
113 ## Binaries to build
114 APP = BasiliskII
115 APP_APP = $(APP).app
116 TARGET_ARCHES = @TARGET_ARCHES@
117 PROGS = $(foreach arch, $(TARGET_ARCHES), $(APP).$(arch))
118
119 ## Rules
120 .PHONY: modules install installdirs uninstall mostlyclean clean distclean depend dep
121 .SUFFIXES:
122 .SUFFIXES: .c .cpp .s .o .h
123
124 all: $(APP)_app
125
126 README.txt: ../../README
127 $(LN_S) $< $@
128 $(UNIXSRCS): %: ../Unix/%
129 $(LN_S) $< $@
130
131 OBJ_DIR = obj
132 ifneq ($(ARCH),)
133 OBJ_DIR = obj.$(ARCH)
134 endif
135 $(OBJ_DIR)::
136 @[ -d $(OBJ_DIR) ] || mkdir $(OBJ_DIR) > /dev/null 2>&1
137
138 define SRCS_LIST_TO_OBJS
139 $(addprefix $(OBJ_DIR)/, $(addsuffix .o, $(foreach file, $(SRCS), \
140 $(basename $(notdir $(file))))))
141 endef
142 OBJS = $(SRCS_LIST_TO_OBJS)
143
144 SRC_PATHS += $(sort $(foreach file, $(SRCS), $(dir $(file))))
145 VPATH :=
146 VPATH += $(addprefix :, $(subst ,:, $(filter-out $($(subst, :, ,$(VPATH))), $(SRC_PATHS))))
147
148 define PROGS_template
149 $(APP).$(1): links
150 +$(MAKE) $(OBJ_DIR).$(1)/$(APP) ARCH=$(1)
151 $(LN_S) -f $(OBJ_DIR).$(1)/$(APP) $(APP).$(1)
152 endef
153
154 $(APP): $(PROGS)
155 lipo $(foreach arch, $(TARGET_ARCHES), -arch $(arch) $(APP).$(arch)) \
156 -create -output $@
157
158 $(foreach arch,$(TARGET_ARCHES),$(eval $(call PROGS_template,$(arch))))
159
160 links: $(UNIXSRCS)
161
162 $(OBJ_DIR)/$(APP): $(OBJ_DIR) $(GEN_DIR) $(OBJS)
163 $(CXX) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
164 $(BLESS) $@
165
166 $(APP)_app: $(APP) $(DOCS) Info.plist $(APP).icns
167 mkdir -p $(APP_APP)/Contents
168 cp -f ../MacOSX/Info.plist $(APP_APP)/Contents/
169 echo -n 'APPL????' > $(APP_APP)/Contents/PkgInfo
170 mkdir -p $(APP_APP)/Contents/MacOS
171 cp -f $(APP) $(APP_APP)/Contents/MacOS/
172 strip $(APP_APP)/Contents/MacOS/$(APP)
173 mkdir -p $(APP_APP)/Contents/Resources
174 cp -Rp English.lproj $(APP_APP)/Contents/Resources/
175 cp -f $(APP).icns $(APP_APP)/Contents/Resources/
176 cp -f $(DOCS) $(APP_APP)/Contents/Resources/
177 find $(APP_APP) -type d -name CVS | xargs rm -rf
178
179 mostlyclean:
180 rm -rf $(APP_APP)
181 rm -f $(PROGS) $(OBJ_DIR)/* $(OBJ_DIR).*/* core* *.core *~ *.bak
182
183 clean: mostlyclean
184 rm -f $(UNIXSRCS)
185 rm -f $(GEN_DIR).*/*
186
187 distclean: clean
188 rm -rf $(OBJ_DIR)
189 rm -rf autom4te.cache
190 rm -f Makefile
191 rm -f config.cache config.log config.status config.h
192 rm -f Darwin/lowmem Darwin/pagezero
193
194 depend dep:
195 makedepend $(CPPFLAGS) -Y. $(SRCS) 2>/dev/null
196
197 $(OBJ_DIR)/%.o : ../slirp/%.c
198 $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) $(SLIRP_CFLAGS) -c $< -o $@
199 $(OBJ_DIR)/%.o : %.c
200 $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c $< -o $@
201 $(OBJ_DIR)/%.o : %.cpp
202 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c $< -o $@
203 $(OBJ_DIR)/%.o : %.m
204 $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c $< -o $@
205 $(OBJ_DIR)/%.o : %.mm
206 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c $< -o $@
207 $(OBJ_DIR)/%.o : %.s
208 $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c $< -o $@
209 $(OBJ_DIR)/%.ho : %.c
210 $(HOST_CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c $< -o $@
211 $(OBJ_DIR)/%.ho : %.cpp
212 $(HOST_CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c $< -o $@
213
214 $(OBJ_DIR)/build68k: $(OBJ_DIR)/build68k.ho
215 $(HOST_CC) -o $@ $(OBJ_DIR)/build68k.ho
216 $(OBJ_DIR)/gencpu: $(OBJ_DIR)/gencpu.ho $(OBJ_DIR)/readcpu.ho $(OBJ_DIR)/cpudefs.ho
217 $(HOST_CXX) -o $@ $(OBJ_DIR)/gencpu.ho $(OBJ_DIR)/readcpu.ho $(OBJ_DIR)/cpudefs.ho
218 $(OBJ_DIR)/gencomp: $(OBJ_DIR)/gencomp.ho $(OBJ_DIR)/readcpu.ho $(OBJ_DIR)/cpudefs.ho
219 $(HOST_CXX) -o $@ $(OBJ_DIR)/gencomp.ho $(OBJ_DIR)/readcpu.ho $(OBJ_DIR)/cpudefs.ho
220
221 $(GEN_DIR)::
222 @[ -d $(GEN_DIR) ] || mkdir $(GEN_DIR) > /dev/null 2>&1
223
224 $(GEN_DIR)/cpudefs.cpp: $(OBJ_DIR)/build68k ../uae_cpu/table68k
225 $(OBJ_DIR)/build68k <../uae_cpu/table68k > $@
226 $(GEN_DIR)/cpustbl.cpp: $(GEN_DIR)/cpuemu.cpp
227 $(GEN_DIR)/cpustbl_nf.cpp: $(GEN_DIR)/cpustbl.cpp
228 $(GEN_DIR)/compstbl.cpp: $(GEN_DIR)/compemu.cpp
229 $(GEN_DIR)/cputbl.h: $(GEN_DIR)/cpuemu.cpp
230 $(GEN_DIR)/comptbl.h: $(GEN_DIR)/compemu.cpp
231
232 $(GEN_DIR)/cpuemu.cpp: $(OBJ_DIR)/gencpu
233 cd $(GEN_DIR) && ../$(OBJ_DIR)/gencpu
234
235 $(GEN_DIR)/compemu.cpp: $(OBJ_DIR)/gencomp
236 cd $(GEN_DIR) && ../$(OBJ_DIR)/gencomp
237
238 $(OBJ_DIR)/cpustbl_nf.o: $(GEN_DIR)/cpustbl.cpp
239 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -DNOFLAGS -c $< -o $@
240
241 $(OBJ_DIR)/compemu_support.o: compemu_support.cpp $(GEN_DIR)/comptbl.h
242 $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c $< -o $@
243
244 $(OBJ_DIR)/cpuemu1.o: $(GEN_DIR)/cpuemu.cpp
245 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_1 $(CXXFLAGS) -c $< -o $@
246 $(OBJ_DIR)/cpuemu2.o: $(GEN_DIR)/cpuemu.cpp
247 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_2 $(CXXFLAGS) -c $< -o $@
248 $(OBJ_DIR)/cpuemu3.o: $(GEN_DIR)/cpuemu.cpp
249 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_3 $(CXXFLAGS) -c $< -o $@
250 $(OBJ_DIR)/cpuemu4.o: $(GEN_DIR)/cpuemu.cpp
251 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_4 $(CXXFLAGS) -c $< -o $@
252 $(OBJ_DIR)/cpuemu5.o: $(GEN_DIR)/cpuemu.cpp
253 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_5 $(CXXFLAGS) -c $< -o $@
254 $(OBJ_DIR)/cpuemu6.o: $(GEN_DIR)/cpuemu.cpp
255 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_6 $(CXXFLAGS) -c $< -o $@
256 $(OBJ_DIR)/cpuemu7.o: $(GEN_DIR)/cpuemu.cpp
257 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_7 $(CXXFLAGS) -c $< -o $@
258 $(OBJ_DIR)/cpuemu8.o: $(GEN_DIR)/cpuemu.cpp
259 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_8 $(CXXFLAGS) -c $< -o $@
260
261 $(OBJ_DIR)/cpuemu1_nf.o: $(GEN_DIR)/cpuemu.cpp
262 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_1 -DNOFLAGS $(CXXFLAGS) -c $< -o $@
263 $(OBJ_DIR)/cpuemu2_nf.o: $(GEN_DIR)/cpuemu.cpp
264 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_2 -DNOFLAGS $(CXXFLAGS) -c $< -o $@
265 $(OBJ_DIR)/cpuemu3_nf.o: $(GEN_DIR)/cpuemu.cpp
266 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_3 -DNOFLAGS $(CXXFLAGS) -c $< -o $@
267 $(OBJ_DIR)/cpuemu4_nf.o: $(GEN_DIR)/cpuemu.cpp
268 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_4 -DNOFLAGS $(CXXFLAGS) -c $< -o $@
269 $(OBJ_DIR)/cpuemu5_nf.o: $(GEN_DIR)/cpuemu.cpp
270 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_5 -DNOFLAGS $(CXXFLAGS) -c $< -o $@
271 $(OBJ_DIR)/cpuemu6_nf.o: $(GEN_DIR)/cpuemu.cpp
272 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_6 -DNOFLAGS $(CXXFLAGS) -c $< -o $@
273 $(OBJ_DIR)/cpuemu7_nf.o: $(GEN_DIR)/cpuemu.cpp
274 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_7 -DNOFLAGS $(CXXFLAGS) -c $< -o $@
275 $(OBJ_DIR)/cpuemu8_nf.o: $(GEN_DIR)/cpuemu.cpp
276 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_8 -DNOFLAGS $(CXXFLAGS) -c $< -o $@
277
278 $(OBJ_DIR)/compemu1.o: $(GEN_DIR)/compemu.cpp
279 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_1 $(CXXFLAGS) -c $< -o $@
280 $(OBJ_DIR)/compemu2.o: $(GEN_DIR)/compemu.cpp
281 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_2 $(CXXFLAGS) -c $< -o $@
282 $(OBJ_DIR)/compemu3.o: $(GEN_DIR)/compemu.cpp
283 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_3 $(CXXFLAGS) -c $< -o $@
284 $(OBJ_DIR)/compemu4.o: $(GEN_DIR)/compemu.cpp
285 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_4 $(CXXFLAGS) -c $< -o $@
286 $(OBJ_DIR)/compemu5.o: $(GEN_DIR)/compemu.cpp
287 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_5 $(CXXFLAGS) -c $< -o $@
288 $(OBJ_DIR)/compemu6.o: $(GEN_DIR)/compemu.cpp
289 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_6 $(CXXFLAGS) -c $< -o $@
290 $(OBJ_DIR)/compemu7.o: $(GEN_DIR)/compemu.cpp
291 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_7 $(CXXFLAGS) -c $< -o $@
292 $(OBJ_DIR)/compemu8.o: $(GEN_DIR)/compemu.cpp
293 $(CXX) $(CPPFLAGS) $(DEFS) -DPART_8 $(CXXFLAGS) -c $< -o $@
294
295 #-------------------------------------------------------------------------
296 # DO NOT DELETE THIS LINE -- make depend depends on it.