Makefile.fpc 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #
  2. # Makefile.fpc for Free Pascal GBA RTL
  3. #
  4. [package]
  5. main=rtl
  6. [target]
  7. loaders=$(LOADERS)
  8. units=$(SYSTEMUNIT) uuchar objpas macpas $(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=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
  15. implicitunits=$(CP1250UNIT) $(CP1251UNIT) $(CP1252UNIT) $(CP1253UNIT) $(CP1254UNIT) $(CP1255UNIT) $(CP1256UNIT) $(CP1257UNIT) $(CP1258UNIT) \
  16. $(CP437UNIT) $(CP646UNIT) $(CP737UNIT) $(CP775UNIT) $(CP850UNIT) $(CP852UNIT) $(CP855UNIT) $(CP856UNIT) $(CP857UNIT) $(CP860UNIT) $(CP861UNIT) $(CP862UNIT) \
  17. $(CP863UNIT) $(CP864UNIT) $(CP865UNIT) $(CP866UNIT) $(CP869UNIT) $(CP874UNIT) $(CP3021UNIT) $(CP8859_1UNIT) $(CP8859_2UNIT) $(CP8859_3UNIT) $(CP8859_4UNIT) \
  18. $(CP8859_5UNIT) $(CP8859_6UNIT) $(CP8859_7UNIT) $(CP8859_8UNIT) $(CP8859_9UNIT) $(CP8859_10UNIT) $(CP8859_11UNIT) \
  19. $(CP8859_13UNIT) $(CP8859_14UNIT) $(CP8859_15UNIT) $(CP8859_16UNIT) $(CPKOI8_RUNIT) $(CPKOI8_UUNIT) \
  20. $(UNICODEDATAUNIT)
  21. [require]
  22. nortl=y
  23. [install]
  24. fpcpackage=y
  25. [default]
  26. target=gba
  27. cpu=arm
  28. [compiler]
  29. includedir=$(INC) $(PROCINC)
  30. sourcedir=$(INC) $(PROCINC) $(COMMON)
  31. [prerules]
  32. RTL=..
  33. INC=$(RTL)/inc
  34. COMMON=$(RTL)/common
  35. PROCINC=$(RTL)/$(CPU_TARGET)
  36. UNITPREFIX=rtl
  37. SYSTEMUNIT=system
  38. LOADERS=prt0 cprt0
  39. # Use new feature from 1.0.5 version
  40. # that generates release PPU files
  41. # which will not be recompiled
  42. ifdef RELEASE
  43. override FPCOPT+=-Ur
  44. endif
  45. # Paths
  46. OBJPASDIR=$(RTL)/objpas
  47. SYSUTILS_DEPS_OS=$(DOSUNIT)$(PPUEXT)
  48. [rules]
  49. .NOTPARALLEL:
  50. # Get the system independent include file names.
  51. # This will set the following variables :
  52. # SYSINCNAMES
  53. include $(INC)/makefile.inc
  54. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  55. # Get the processor dependent include file names.
  56. # This will set the following variables :
  57. # CPUINCNAMES
  58. include $(PROCINC)/makefile.cpu
  59. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  60. # Put system unit dependencies together.
  61. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
  62. #
  63. # Loaders
  64. #
  65. prt0$(OEXT) : prt0.as
  66. $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) prt0.as
  67. cprt0$(OEXT) : cprt0.as
  68. $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) cprt0.as
  69. #
  70. # Base Units (System, strings, os-dependent-base-unit)
  71. #
  72. #
  73. # Other system-dependent RTL Units
  74. #
  75. exec$(PPUEXT) : exec.pp execf.inc execd.inc
  76. $(COMPILER) exec.pp
  77. timer$(PPUEXT) : timer.pp timerd.inc timerf.inc
  78. $(COMPILER) timer.pp
  79. utility$(PPUEXT) : utility.pp exec$(PPUEXT) utilf.inc utild1.inc utild2.inc
  80. $(COMPILER) utility.pp
  81. doslib$(PPUEXT) : doslib.pp exec$(PPUEXT) timer$(PPUEXT) doslibd.inc doslibf.inc
  82. $(COMPILER) doslib.pp
  83. hardware$(PPUEXT): hardware.pas exec$(PPUEXT)
  84. $(COMPILER) hardware.pas
  85. inputevent$(PPUEXT): inputevent.pas exec$(PPUEXT) timer$(PPUEXT) utility$(PPUEXT)
  86. $(COMPILER) inputevent.pas
  87. graphics$(PPUEXT): graphics.pas exec$(PPUEXT) utility$(PPUEXT) hardware$(PPUEXT)
  88. $(COMPILER) graphics.pas
  89. layers$(PPUEXT) : layers.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
  90. $(COMPILER) layers.pas
  91. intuition$(PPUEXT): intuition.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT) \
  92. inputevent$(PPUEXT) timer$(PPUEXT) layers$(PPUEXT)
  93. $(COMPILER) intuition.pas
  94. aboxlib$(PPUEXT): aboxlib.pas
  95. $(COMPILER) aboxlib.pas
  96. clipboard$(PPUEXT): clipboard.pas exec$(PPUEXT)
  97. $(COMPILER) clipboard.pas
  98. datatype$(PPUEXT): datatypes.pas exec$(PPUEXT) doslib$(PPUEXT) intuition$(PPUEXT) \
  99. utility$(PPUEXT) graphics$(PPUEXT)
  100. $(COMPILER) datatypes.pas
  101. asl$(PPUEXT): asl.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
  102. $(COMPILER) asl.pas
  103. ahi$(PPUEXT): ahi.pas exec$(PPUEXT) utility$(PPUEXT)
  104. $(COMPILER) ahi.pas
  105. mui$(PPUEXT): mui.pas exec$(PPUEXT) utility$(PPUEXT) intuition$(PPUEXT) graphics$(PPUEXT)
  106. $(COMPILER) mui.pas
  107. tinygl$(PPUEXT): tinygl.pp exec$(PPUEXT)
  108. $(COMPILER) tinygl.pp
  109. get9$(PPUEXT): get9.pas exec$(PPUEXT)
  110. $(COMPILER) get9.pas
  111. muihelper$(PPUEXT): muihelper.pas intuition$(PPUEXT) mui$(PPUEXT) doslib$(PPUEXT) utility$(PPUEXT)
  112. $(COMPILER) muihelper.pas