Makefile 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # ld-tigcc makefile
  2. # Copyright (C) 2002-2009, Kevin Kofler
  3. # Copyright (C) 2009, Lionel Debroux
  4. ifeq ($(OSTYPE), msys)
  5. EXEEXT = .exe
  6. else
  7. EXEEXT =
  8. endif
  9. LD_TIGCC = ld-tigcc$(EXEEXT)
  10. AR_TIGCC = ar-tigcc$(EXEEXT)
  11. LINK_DLL = link.dll
  12. ifeq ($(OSTYPE),msys)
  13. ALL_TARGETS = $(LD_TIGCC) $(AR_TIGCC) $(LINK_DLL)
  14. else
  15. ALL_TARGETS = $(LD_TIGCC) $(AR_TIGCC)
  16. endif
  17. CC ?= gcc
  18. CFLAGS = -s -Os -fno-exceptions
  19. WARN_CFLAGS = -W -Wall -Wwrite-strings -Wpointer-arith
  20. 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
  21. EXE_DEFINES = -DPUCRUNCH_SUPPORT -DENABLE_HELP -DENABLE_STATS -DENABLE_DUMP
  22. RM = rm
  23. RMFLAGS = -f
  24. COMPILE_C = $(CC) -c $(CFLAGS) $(ARCHFLAGS) $(WARN_CFLAGS) $(DEFINES)
  25. HEADERS = *.h formats/*.h import/*.h export/*.h bincode/*.h insert/*.h insert/model/*.h int_def.inc
  26. AR_HEADERS = ar/*.h ar/import/*.h ar/export/*.h *.h formats/*.h
  27. 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
  28. 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
  29. 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
  30. 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
  31. BACKUPS = *~ format/*~ import/*~ export/*~ bincode/*~ insert/*~ insert/model/*~ ar/*~ ar/import/*~ ar/export/*~
  32. .PHONY: all clean clean_backups
  33. all: $(ALL_TARGETS)
  34. ar/main.o: ar/main.c ar/main_opt.inc $(AR_HEADERS)
  35. $(COMPILE_C) $(EXE_DEFINES) $< -o $@
  36. ar/%.o: ar/%.c $(AR_HEADERS)
  37. $(COMPILE_C) $(EXE_DEFINES) $< -o $@
  38. ar/%.do: ar/%.c $(AR_HEADERS)
  39. $(COMPILE_C) -DTARGET_DLL $< -o $@
  40. main.o: main.c main_opt.inc main_vbs.inc $(HEADERS)
  41. $(COMPILE_C) $(EXE_DEFINES) $< -o $@
  42. %.o: %.c $(HEADERS)
  43. $(COMPILE_C) $(EXE_DEFINES) $< -o $@
  44. %.do: %.c $(HEADERS)
  45. $(COMPILE_C) -DTARGET_DLL $< -o $@
  46. $(LD_TIGCC): $(OBJECTS)
  47. $(CC) $(CFLAGS) $(ARCHFLAGS) $(OBJECTS) -o $@
  48. $(AR_TIGCC): $(AR_OBJECTS)
  49. $(CC) $(CFLAGS) $(ARCHFLAGS) $(AR_OBJECTS) -o $@
  50. $(LINK_DLL): $(DLL_OBJECTS) $(DLL_AR_OBJECTS)
  51. $(CC) -shared --dll $(CFLAGS) $(ARCHFLAGS) $(DLL_OBJECTS) $(DLL_AR_OBJECTS) -o $@
  52. clean:
  53. -$(RM) $(RMFLAGS) $(OBJECTS) $(AR_OBJECTS) $(DLL_OBJECTS) $(DLL_AR_OBJECTS) $(ALL_TARGETS)
  54. clean_backups:
  55. -$(RM) $(RMFLAGS) $(BACKUPS)