1 |
# AmigaOS makefile for Basilisk II (GeekGadgets) |
2 |
|
3 |
## System specific configuration |
4 |
CC = gcc |
5 |
CXX = c++ |
6 |
CXXFLAGS = -g -O1 -noixemul -m68020 -msmall-code -Wno-multichar |
7 |
CPPFLAGS = -I../include -I../native_cpu -I. |
8 |
DEFS = |
9 |
LDFLAGS = -noixemul |
10 |
LIBS = /gg/lib/libnix/swapstack.o |
11 |
AS = PhxAss |
12 |
ASFLAGS = OPT ! INCPATH GG:os-include MACHINE=68020 FPU=1 |
13 |
|
14 |
## Files |
15 |
SRCS = ../main.cpp main_amiga.cpp ../prefs.cpp prefs_amiga.cpp \ |
16 |
prefs_editor_amiga.cpp sys_amiga.cpp ../rom_patches.cpp \ |
17 |
../slot_rom.cpp ../rsrc_patches.cpp ../emul_op.cpp \ |
18 |
../macos_util.cpp ../xpram.cpp xpram_amiga.cpp ../timer.cpp \ |
19 |
timer_amiga.cpp clip_amiga.cpp ../adb.cpp ../serial.cpp \ |
20 |
serial_amiga.cpp ../ether.cpp ether_amiga.cpp ../sony.cpp ../disk.cpp \ |
21 |
../cdrom.cpp ../scsi.cpp scsi_amiga.cpp ../video.cpp video_amiga.cpp \ |
22 |
../audio.cpp audio_amiga.cpp ../extfs.cpp extfs_amiga.cpp \ |
23 |
../user_strings.cpp user_strings_amiga.cpp asm_support.asm |
24 |
APP = BasiliskII |
25 |
|
26 |
## Rules |
27 |
.PHONY: clean distclean |
28 |
.SUFFIXES: |
29 |
.SUFFIXES: .c .cpp .asm .o .h |
30 |
|
31 |
all: $(APP) |
32 |
|
33 |
OBJ_DIR = obj |
34 |
$(OBJ_DIR):: |
35 |
@[ -d $(OBJ_DIR) ] || mkdir $(OBJ_DIR) > /dev/null 2>&1 |
36 |
|
37 |
define SRCS_LIST_TO_OBJS |
38 |
$(addprefix $(OBJ_DIR)/, $(addsuffix .o, $(foreach file, $(SRCS), \ |
39 |
$(basename $(notdir $(file)))))) |
40 |
endef |
41 |
OBJS = $(SRCS_LIST_TO_OBJS) |
42 |
|
43 |
SRC_PATHS += $(sort $(foreach file, $(SRCS), $(dir $(file)))) |
44 |
VPATH := |
45 |
VPATH += $(addprefix :, $(subst ,:, $(filter-out $($(subst, :, ,$(VPATH))), $(SRC_PATHS)))) |
46 |
|
47 |
$(APP): $(OBJ_DIR) $(OBJS) |
48 |
$(CXX) -o $(APP) $(LDFLAGS) $(LIBS) $(OBJS) |
49 |
|
50 |
clean: |
51 |
rm -f $(APP) $(OBJ_DIR)/* *~ *.bak obj.0000.* |
52 |
|
53 |
distclean: clean |
54 |
rm -rf $(OBJ_DIR) |
55 |
|
56 |
$(OBJ_DIR)/%.o : %.cpp |
57 |
$(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c $< -o $@ |
58 |
$(OBJ_DIR)/%.o : %.asm |
59 |
$(AS) $(ASFLAGS) $< TO $(OBJ_DIR)/$*.obj |
60 |
hunk2aout $(OBJ_DIR)/$*.obj >/dev/null |
61 |
mv obj.0000.* $@ |
62 |
|
63 |
#------------------------------------------------------------------------- |
64 |
# DO NOT DELETE THIS LINE -- make depend depends on it. |