Makefile.fpc 3.6 KB

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