Makefile.fpc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. #
  2. # Makefile.fpc for Free Pascal GBA RTL
  3. #
  4. [package]
  5. main=rtl
  6. [target]
  7. loaders=$(LOADERS)
  8. units=$(SYSTEMUNIT) $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(STRINGSUNIT) \
  9. $(SORTBASEUNIT) $(SYSUTILSUNIT) \
  10. $(CLASSESUNIT) $(MATHUNIT) $(TYPINFOUNIT) $(CTYPESUNIT) \
  11. $(CHARSETUNIT) $(CPALLUNIT) $(GETOPTSUNIT) \
  12. $(FPWIDESTRINGUNIT) $(CHARACTERUNIT) \
  13. $(TYPESUNIT) $(SYSCONSTUNIT) $(RTLCONSTSUNIT) $(LINEINFOUNIT) $(FGLUNIT)
  14. #rsts=$(MATHUNIT) $(RTLCONSTSUNIT) varutils $(TYPINFOUNIT) variants classes $(SYSCONSTUNIT) dateutil fpmkunit
  15. implicitunits=$(CP_UNITS) $(UNICODEDATAUNIT)
  16. [require]
  17. nortl=y
  18. [install]
  19. fpcpackage=y
  20. [default]
  21. target=gba
  22. cpu=arm
  23. [compiler]
  24. includedir=$(INC) $(PROCINC)
  25. sourcedir=$(INC) $(PROCINC) $(COMMON)
  26. [prerules]
  27. RTL=..
  28. INC=$(RTL)/inc
  29. COMMON=$(RTL)/common
  30. PROCINC=$(RTL)/$(CPU_TARGET)
  31. UNITPREFIX=rtl
  32. SYSTEMUNIT=system
  33. LOADERS=prt0 cprt0
  34. # Use new feature from 1.0.5 version
  35. # that generates release PPU files
  36. # which will not be recompiled
  37. ifdef RELEASE
  38. override FPCOPT+=-Ur
  39. endif
  40. # Paths
  41. OBJPASDIR=$(RTL)/objpas
  42. SYSUTILS_DEPS_OS=$(DOSUNIT)$(PPUEXT)
  43. [rules]
  44. .NOTPARALLEL:
  45. # Get the system independent include file names.
  46. # This will set the following variables :
  47. # SYSINCNAMES
  48. include $(INC)/makefile.inc
  49. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  50. # Get the processor dependent include file names.
  51. # This will set the following variables :
  52. # CPUINCNAMES
  53. include $(PROCINC)/makefile.cpu
  54. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  55. # Put system unit dependencies together.
  56. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
  57. #
  58. # Loaders
  59. #
  60. prt0$(OEXT) : prt0.as
  61. $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) prt0.as
  62. cprt0$(OEXT) : cprt0.as
  63. $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) cprt0.as
  64. #
  65. # Base Units (System, strings, os-dependent-base-unit)
  66. #
  67. #
  68. # Other system-dependent RTL Units
  69. #
  70. exec$(PPUEXT) : exec.pp execf.inc execd.inc
  71. $(COMPILER) exec.pp
  72. timer$(PPUEXT) : timer.pp timerd.inc timerf.inc
  73. $(COMPILER) timer.pp
  74. utility$(PPUEXT) : utility.pp exec$(PPUEXT) utilf.inc utild1.inc utild2.inc
  75. $(COMPILER) utility.pp
  76. doslib$(PPUEXT) : doslib.pp exec$(PPUEXT) timer$(PPUEXT) doslibd.inc doslibf.inc
  77. $(COMPILER) doslib.pp
  78. hardware$(PPUEXT): hardware.pas exec$(PPUEXT)
  79. $(COMPILER) hardware.pas
  80. inputevent$(PPUEXT): inputevent.pas exec$(PPUEXT) timer$(PPUEXT) utility$(PPUEXT)
  81. $(COMPILER) inputevent.pas
  82. graphics$(PPUEXT): graphics.pas exec$(PPUEXT) utility$(PPUEXT) hardware$(PPUEXT)
  83. $(COMPILER) graphics.pas
  84. layers$(PPUEXT) : layers.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
  85. $(COMPILER) layers.pas
  86. intuition$(PPUEXT): intuition.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT) \
  87. inputevent$(PPUEXT) timer$(PPUEXT) layers$(PPUEXT)
  88. $(COMPILER) intuition.pas
  89. aboxlib$(PPUEXT): aboxlib.pas
  90. $(COMPILER) aboxlib.pas
  91. clipboard$(PPUEXT): clipboard.pas exec$(PPUEXT)
  92. $(COMPILER) clipboard.pas
  93. datatype$(PPUEXT): datatypes.pas exec$(PPUEXT) doslib$(PPUEXT) intuition$(PPUEXT) \
  94. utility$(PPUEXT) graphics$(PPUEXT)
  95. $(COMPILER) datatypes.pas
  96. asl$(PPUEXT): asl.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
  97. $(COMPILER) asl.pas
  98. ahi$(PPUEXT): ahi.pas exec$(PPUEXT) utility$(PPUEXT)
  99. $(COMPILER) ahi.pas
  100. mui$(PPUEXT): mui.pas exec$(PPUEXT) utility$(PPUEXT) intuition$(PPUEXT) graphics$(PPUEXT)
  101. $(COMPILER) mui.pas
  102. tinygl$(PPUEXT): tinygl.pp exec$(PPUEXT)
  103. $(COMPILER) tinygl.pp
  104. get9$(PPUEXT): get9.pas exec$(PPUEXT)
  105. $(COMPILER) get9.pas
  106. muihelper$(PPUEXT): muihelper.pas intuition$(PPUEXT) mui$(PPUEXT) doslib$(PPUEXT) utility$(PPUEXT)
  107. $(COMPILER) muihelper.pas