Makefile 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. ifeq ($(OSTYPE), msys)
  2. EXEEXT = .exe
  3. else
  4. EXEEXT =
  5. endif
  6. LD_TIGCC = ld-tigcc$(EXEEXT)
  7. AR_TIGCC = ar-tigcc$(EXEEXT)
  8. LINK_DLL = link.dll
  9. ifeq ($(OSTYPE),msys)
  10. ALL_TARGETS = $(LD_TIGCC) $(AR_TIGCC) $(LINK_DLL)
  11. else
  12. ALL_TARGETS = $(LD_TIGCC) $(AR_TIGCC)
  13. endif
  14. CC = gcc
  15. CFLAGS = -s -Os -fno-exceptions
  16. WARN_CFLAGS = -W -Wall -Wwrite-strings -Wpointer-arith
  17. DEFINES = -DCOFF_SUPPORT -DAMIGAOS_SUPPORT -DTIOS_SUPPORT -DFLASH_OS_SUPPORT -DNOSTUB_DLL_SUPPORT -DFARGO_SUPPORT -DDATA_VAR_SUPPORT -DTIOS_FILE_SUPPORT -DTIOS_UPGRADE_FILE_SUPPORT -DDEBUGGING_INFO_SUPPORT -DCOFF_TIGCC_EXTENSIONS -DAMIGAOS_TIGCC_EXTENSIONS
  18. EXE_DEFINES = -DPUCRUNCH_SUPPORT -DENABLE_HELP -DENABLE_STATS -DENABLE_DUMP
  19. RM = rm
  20. RMFLAGS = -f
  21. COMPILE_C = $(CC) -c $(CFLAGS) $(ARCHFLAGS) $(WARN_CFLAGS) $(DEFINES)
  22. HEADERS = *.h formats/*.h import/*.h export/*.h bincode/*.h insert/*.h insert/model/*.h int_def.inc
  23. AR_HEADERS = ar/*.h ar/import/*.h ar/export/*.h *.h formats/*.h
  24. OBJECTS = main.o integers.o int_arb.o manip.o constmrg.o gcunused.o reorder.o import/import.o import/imp_coff.o import/imp_amig.o import/imp_ar.o export/export.o export/exp_def.o export/exp_os.o export/exp_tios.o export/exp_ndll.o export/exp_farg.o export/exp_data.o export/exp_dbg.o export/pucrunch.o bincode/fix_m68k.o bincode/fix_tios.o bincode/fix_emu.o bincode/cutrange.o insert/ins_def.o insert/model/list.o insert/kernel.o insert/comprrlc.o insert/other.o special.o dump.o
  25. AR_OBJECTS = ar/main.o ar/manip.o ar/import/import.o ar/import/imp_coff.o ar/import/imp_amig.o ar/export/exp_ar.o ar/dump.o integers.o
  26. DLL_OBJECTS = main.do integers.do int_arb.do manip.do constmrg.do gcunused.do reorder.do import/import.do import/imp_coff.do import/imp_amig.do import/imp_ar.do export/export.do export/exp_def.do export/exp_os.do export/exp_tios.do export/exp_ndll.do export/exp_farg.do export/exp_data.do export/exp_dbg.do bincode/fix_m68k.do bincode/fix_tios.do bincode/fix_emu.do bincode/cutrange.do insert/ins_def.do insert/model/list.do insert/kernel.do insert/comprrlc.do insert/other.do special.do
  27. DLL_AR_OBJECTS = ar/main.do ar/manip.do ar/import/import.do ar/import/imp_coff.do ar/import/imp_amig.do ar/export/exp_ar.do
  28. BACKUPS = *~ format/*~ import/*~ export/*~ bincode/*~ insert/*~ insert/model/*~ ar/*~ ar/import/*~ ar/export/*~
  29. .PHONY: all clean clean_backups
  30. all: $(ALL_TARGETS)
  31. ar/main.o: ar/main.c ar/main_opt.inc $(AR_HEADERS)
  32. $(COMPILE_C) $(EXE_DEFINES) $< -o $@
  33. ar/%.o: ar/%.c $(AR_HEADERS)
  34. $(COMPILE_C) $(EXE_DEFINES) $< -o $@
  35. ar/%.do: ar/%.c $(AR_HEADERS)
  36. $(COMPILE_C) -DTARGET_DLL $< -o $@
  37. main.o: main.c main_opt.inc main_vbs.inc $(HEADERS)
  38. $(COMPILE_C) $(EXE_DEFINES) $< -o $@
  39. %.o: %.c $(HEADERS)
  40. $(COMPILE_C) $(EXE_DEFINES) $< -o $@
  41. %.do: %.c $(HEADERS)
  42. $(COMPILE_C) -DTARGET_DLL $< -o $@
  43. $(LD_TIGCC): $(OBJECTS)
  44. $(CC) $(CFLAGS) $(ARCHFLAGS) $(OBJECTS) -o $@
  45. $(AR_TIGCC): $(AR_OBJECTS)
  46. $(CC) $(CFLAGS) $(ARCHFLAGS) $(AR_OBJECTS) -o $@
  47. $(LINK_DLL): $(DLL_OBJECTS) $(DLL_AR_OBJECTS)
  48. $(CC) -shared --dll $(CFLAGS) $(ARCHFLAGS) $(DLL_OBJECTS) $(DLL_AR_OBJECTS) -o $@
  49. clean:
  50. -$(RM) $(RMFLAGS) $(OBJECTS) $(AR_OBJECTS) $(DLL_OBJECTS) $(DLL_AR_OBJECTS) $(ALL_TARGETS)
  51. clean_backups:
  52. -$(RM) $(RMFLAGS) $(BACKUPS)