# # Makefile.fpc for Free Pascal FreeBSD RTL # [package] main=rtl [install] fpcpackage=y [target] loaders=prt0 cprt0 gprt0 dllprt0 units=$(SYSTEMUNIT) $(UUCHARUNIT) $(UNIXTYPEUNIT) $(CTYPESUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) \ $(STRINGSUNIT) $(SYSCALLUNIT) $(SYSCTLUNIT) $(BASEUNIXUNIT) $(UNIXUTILUNIT) $(CHARACTERUNIT) \ $(UNIXUNIT) $(RTLCONSTSUNIT) $(INITCUNIT) $(CMEMUNIT) \ $(DLUNIT) $(TERMIOUNIT) \ $(SYSUTILSUNIT) $(MATHUNIT) $(TYPINFOUNIT) $(TYPESUNIT) $(SORTBASEUNIT) $(CLASSESUNIT) $(FGLUNIT) $(DYNLIBSUNIT) \ $(CPU_UNITS) $(CHARSETUNIT) $(CPALLUNIT) $(GETOPTSUNIT) $(HEAPTRCUNIT) $(LNFODWRFUNIT) $(LINEINFOUNIT) \ $(ERRORSUNIT) $(BSDUNIT) $(FREEBSDUNIT) \ $(CONSOLEUNIT) \ $(SYSCONSTUNIT) $(CTHREADSUNIT) $(DOSUNIT) $(CWSTRINGUNIT) \ $(FPINTRESUNIT) $(UNIXCPUNIT) $(FPWIDESTRINGUNIT) \ $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT) implicitunits=$(EXEINFOUNIT) $(CP_UNITS) $(UNICODEDATAUNIT) rsts=$(MATHUNIT) $(TYPINFOUNIT) $(CLASSESUNIT) $(SYSCONSTUNIT) [require] nortl=y [install] fpcpackage=y [default] target=freebsd [compiler] includedir=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) sourcedir=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(COMMON) [lib] libname=libfprtl.so libversion=2.0.0 libunits=$(SYSTEMUNIT) $(OBJPASUNIT) $(STRINGSUNIT) \ $(UNIXUNIT) \ $(DOSUNIT) \ $(SYSUTILSUNIT) $(TYPINFOUNIT) $(MATHUNIT) \ $(CPU_UNITS) $(GETOPTSUNIT) $(HEAPTRCUNIT) \ $(ERRORSUNIT) $(DYNLIBSUNIT) [prerules] RTL=.. INC=$(RTL)/inc PORTSDIR=$(RTL)/unix COMMON=$(RTL)/common PROCINC=$(RTL)/$(CPU_TARGET) OSPROCINC=$(RTL)/freebsd/$(CPU_TARGET) BSDINC=$(RTL)/bsd BSDPROCINC=$(BSDINC)/$(CPU_TARGET) UNIXINC=$(RTL)/unix UNITPREFIX=rtl CPU_UNITS= BASEUNIX_DEPS_OS=$(SYSCTLUNIT)$(PPUEXT) BSD_DEPS_OS=$(SYSCALLUNIT)$(PPUEXT) CLASSESDIR=$(UNIXINC) DOSDIR=$(UNIXINC) DYNLIBS_DEPS_OS=$(DLUNIT)$(PPUEXT) DYNLIBSINCDIR=$(UNIXINC) SYSCALL_DEPS_OS = sysnr.inc $(BSDPROCINC)/syscallh.inc SYSTEMDIR = $(BSDINC) SYSUTILSDIR=$(UNIXINC) SYSUTILS_DEPS_OS = $(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT) loaders+=gprt0 ifeq ($(ARCH),i386) CPU_UNITS=$(X86UNIT) $(PORTSUNIT) $(CPUUNIT) $(MMXUNIT) ASTARGET=--32 endif ifeq ($(ARCH),x86_64) CPU_UNITS=$(X86UNIT) $(PORTSUNIT) $(CPUUNIT) ASTARGET=--64 endif # Paths OBJPASDIR=$(RTL)/objpas [rules] .NOTPARALLEL: # Get the system independent include file names. # This will set the following variables : # SYSINCNAMES include $(INC)/makefile.inc SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES)) # Get the processor dependent include file names. # This will set the following variables : # CPUINCNAMES include $(PROCINC)/makefile.cpu SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES)) # Put system unit dependencies together. SYSDEPS = unxconst.inc $(SYSINCDEPS) $(SYSCPUDEPS) # # Loaders # prt0$(OEXT) : $(CPU_TARGET)/prt0.as $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/prt0.as cprt0$(OEXT) : $(CPU_TARGET)/cprt0.as $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)cprt0$(OEXT) $(CPU_TARGET)/cprt0.as gprt0$(OEXT) : $(CPU_TARGET)/gprt0.as $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)gprt0$(OEXT) $(CPU_TARGET)/gprt0.as dllprt0$(OEXT) : $(CPU_TARGET)/dllprt0.as $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) $(CPU_TARGET)/dllprt0.as # # freebsd unit # ifeq ($(filter -dFPC_USE_LIBC,$(FPCOPT)),) FREEBSD_DEPS_OS+=$(SYSCALLUNIT)$(PPUEXT) else FREEBSD_DEPS_OS+=$(INITCUNIT)$(PPUEXT) endif FREEBSD_DEPS = freebsd.pas $(SYSTEMUNIT)$(PPUEXT) $(BASEUNIXUNIT)$(PPUEXT) $(SYSCTLUNIT)$(PPUEXT) \ $(FREEBSD_DEPS_OS) $(FREEBSD_DEPS_CPU) freebsd$(PPUEXT): $(FREEBSD_DEPS) $(COMPILER) $(FREEBSD_OPT) $< FreeBSDApi.FreeBSD$(PPUEXT): $(NSFREEBSDDIR)/FreeBSDApi.FreeBSD.pas $(FREEBSD_DEPS) $(COMPILER) $(FREEBSD_OPT) $<