Makefile.fpc 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #
  2. # Makefile.fpc for Free Pascal Amiga RTL
  3. #
  4. [package]
  5. main=rtl
  6. [target]
  7. loaders=$(LOADERS)
  8. units=$(SYSTEMUNIT) $(RESUNIT) $(HEAPTRCUNIT) $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) buildrtl $(CPALLUNIT)
  9. implicitunits=$(SYSINITUNITS) $(EXEUNITS) athreads $(DOSUNIT) $(SYSUTILSUNIT) $(SYSCONSTUNIT) \
  10. $(CTYPESUNIT) $(STRINGSUNIT) $(RTLCONSTSUNIT) $(MATHUNIT) $(TYPESUNIT) \
  11. $(TYPINFOUNIT) $(SORTBASEUNIT) $(FGLUNIT) $(CLASSESUNIT) $(CHARACTERUNIT) $(GETOPTSUNIT) $(FPWIDESTRINGUNIT) \
  12. $(CP_UNITS) $(UNICODEDATAUNIT) \
  13. $(UFLOAT128UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(SFPUX80UNIT) $(SOFTFPUUNIT)
  14. rsts=$(MATHUNIT) $(RTLCONSTSUNIT) $(TYPINFOUNIT) $(CLASSESUNIT) $(SYSCONSTUNIT)
  15. [require]
  16. nortl=y
  17. [install]
  18. fpcpackage=y
  19. [default]
  20. target=amiga
  21. cpu=powerpc
  22. [compiler]
  23. includedir=$(INC) $(PROCINC) $(CPU_TARGET) $(AMIINC)
  24. sourcedir=$(INC) $(PROCINC) $(CPU_TARGET) $(AMIINC) $(COMMON)
  25. [prerules]
  26. RTL=..
  27. INC=$(RTL)/inc
  28. COMMON=$(RTL)/common
  29. PROCINC=$(RTL)/$(CPU_TARGET)
  30. AMIINC=$(RTL)/amicommon
  31. UNITPREFIX=rtl
  32. LOADERS=prt0
  33. # Paths
  34. OBJPASDIR=$(RTL)/objpas
  35. ifeq ($(ARCH),m68k)
  36. override LOADERS=
  37. SYSINITUNITS=si_prc
  38. RESUNIT=fpextres
  39. endif
  40. ifeq ($(ARCH),powerpc)
  41. override LOADERS=
  42. RESUNIT=$(FPINTRESUNIT)
  43. SYSINITUNITS=si_prc
  44. EXEUNITS=$(LINEINFOUNIT) $(EXEINFOUNIT)
  45. endif
  46. [rules]
  47. .NOTPARALLEL:
  48. # Get the system independent include file names.
  49. # This will set the following variables :
  50. # SYSINCNAMES
  51. include $(INC)/makefile.inc
  52. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  53. # Get the processor dependent include file names.
  54. # This will set the following variables :
  55. # CPUINCNAMES
  56. include $(PROCINC)/makefile.cpu
  57. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  58. # Put system unit dependencies together.
  59. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
  60. #
  61. # Loaders
  62. #
  63. prt0$(OEXT) : $(CPU_TARGET)/prt0.as
  64. $(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
  65. ifdef FPC_DOTTEDUNITS
  66. BUILDRTL_OPT:=$(BUILDRTL_OPT) -Fu$(NSINC) -Fu$(NSOSDIR) -dFPC_DOTTEDUNITS
  67. endif
  68. #
  69. # Base Units (System, strings, os-dependent-base-unit)
  70. #
  71. buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) $(HEAPTRCUNIT)$(PPUEXT)
  72. $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(CPU_TARGET) -Fu$(PROCINC) -Fu$(AMIINC) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) $(BUILDRTL_OPT) buildrtl