home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / Emulation / BasiliskII / src / AmigaOS / Makefile < prev    next >
Makefile  |  1999-10-21  |  2KB  |  65 lines

  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.
  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.
  65.