Makefile.fpc 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #
  2. # Makefile.fpc for Free Pascal DragonFly RTL
  3. #
  4. [package]
  5. main=rtl
  6. [install]
  7. fpcpackage=y
  8. [target]
  9. loaders=prt0 cprt0 gprt0 dllprt0
  10. units=$(SYSTEMUNIT) $(UUCHARUNIT) $(UNIXTYPEUNIT) $(CTYPESUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) \
  11. $(STRINGSUNIT) $(SYSCALLUNIT) $(SYSCTLUNIT) $(BASEUNIXUNIT) $(UNIXUTILUNIT) $(CHARACTERUNIT) \
  12. $(UNIXUNIT) $(RTLCONSTSUNIT) $(INITCUNIT) $(CMEMUNIT) \
  13. $(DLUNIT) $(TERMIOUNIT) \
  14. $(SYSUTILSUNIT) $(MATHUNIT) $(TYPINFOUNIT) $(TYPESUNIT) $(SORTBASEUNIT) $(CLASSESUNIT) $(FGLUNIT) $(DYNLIBSUNIT) \
  15. $(CPU_UNITS) $(CHARSETUNIT) $(CPALLUNIT) $(GETOPTSUNIT) $(HEAPTRCUNIT) $(LNFODWRFUNIT) $(LINEINFOUNIT) \
  16. $(ERRORSUNIT) $(BSDUNIT) \
  17. $(CONSOLEUNIT) \
  18. $(SYSCONSTUNIT) $(CTHREADSUNIT) $(DOSUNIT) $(CWSTRINGUNIT) \
  19. $(FPINTRESUNIT) $(UNIXCPUNIT) $(FPWIDESTRINGUNIT) \
  20. $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT)
  21. implicitunits=$(EXEINFOUNIT) $(CP_UNITS) $(UNICODEDATAUNIT)
  22. rsts=$(MATHUNIT) $(TYPINFOUNIT) $(CLASSESUNIT) $(SYSCONSTUNIT)
  23. [require]
  24. nortl=y
  25. [install]
  26. fpcpackage=y
  27. [default]
  28. target=dragonfly
  29. [compiler]
  30. includedir=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC)
  31. sourcedir=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(COMMON)
  32. [lib]
  33. libname=libfprtl.so
  34. libversion=2.0.0
  35. libunits=$(SYSTEMUNIT) $(OBJPASUNIT) $(STRINGSUNIT) \
  36. $(UNIXUNIT) \
  37. $(DOSUNIT) \
  38. $(SYSUTILSUNIT) $(TYPINFOUNIT) $(MATHUNIT) \
  39. $(CPU_UNITS) $(GETOPTSUNIT) $(HEAPTRCUNIT) \
  40. $(ERRORSUNIT) $(DYNLIBSUNIT)
  41. [prerules]
  42. RTL=..
  43. INC=$(RTL)/inc
  44. COMMON=$(RTL)/common
  45. PROCINC=$(RTL)/$(CPU_TARGET)
  46. OSPROCINC=$(RTL)/dragonfly/$(CPU_TARGET)
  47. BSDINC=$(RTL)/bsd
  48. BSDPROCINC=$(BSDINC)/$(CPU_TARGET)
  49. UNIXINC=$(RTL)/unix
  50. UNITPREFIX=rtl
  51. CPU_UNITS=
  52. BSD_DEPS_OS=$(SYSCALLUNIT)$(PPUEXT)
  53. CLASSESDIR=$(UNIXINC)
  54. DOSDIR=$(UNIXINC)
  55. DYNLIBS_DEPS_OS=$(DLUNIT)$(PPUEXT)
  56. DYNLIBSINCDIR=$(UNIXINC)
  57. SYSCALL_DEPS_OS=sysnr.inc $(BSDPROCINC)/syscallh.inc
  58. BASEUNIX_DEPS_OS=$(SYSCTLUNIT)$(PPUEXT)
  59. SYSUTILSDIR=$(UNIXINC)
  60. SYSUTILS_DEPS_OS = $(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT)
  61. loaders+=gprt0
  62. ifeq ($(ARCH),x86_64)
  63. CPU_UNITS=$(X86UNIT) $(PORTSUNIT) $(CPUUNIT)
  64. endif
  65. # Paths
  66. OBJPASDIR=$(RTL)/objpas
  67. [rules]
  68. .NOTPARALLEL:
  69. # Get the system independent include file names.
  70. # This will set the following variables :
  71. # SYSINCNAMES
  72. include $(INC)/makefile.inc
  73. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  74. # Get the processor dependent include file names.
  75. # This will set the following variables :
  76. # CPUINCNAMES
  77. include $(PROCINC)/makefile.cpu
  78. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  79. # Put system unit dependencies together.
  80. SYSDEPS = unxconst.inc $(SYSINCDEPS) $(SYSCPUDEPS)
  81. SYSTEMDIR = $(BSDINC)
  82. #
  83. # Loaders
  84. #
  85. prt0$(OEXT) : $(CPU_TARGET)/prt0.as
  86. $(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as
  87. cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as
  88. $(AS) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(CPU_TARGET)/cprt0.as
  89. gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as
  90. $(AS) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as
  91. dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as
  92. $(AS) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as