123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- #
- # Makefile.fpc for Free Pascal OpenBSD RTL
- #
- [package]
- main=rtl
- [install]
- fpcpackage=y
- [target]
- loaders=$(LOADERS)
- units=$(SYSTEMUNIT) $(SYSINIT_UNITS) initc $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(STRINGSUNIT) syscall baseunix \
- $(LINUXUNIT) unixtype unixutil unix ctypes bsd \
- $(CPU_UNITS) dos rtlconsts \
- sysutils $(SORTBASEUNIT) $(FGLUNIT) classes typinfo math \
- $(CHARSETUNIT) $(CPALLUNIT) $(CHARACTERUNIT) $(GETOPTSUNIT) $(HEAPTRCUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT) \
- $(ERRORSUNIT) \
- types sysctl sysconst \
- $(FPINTRESUNIT) dynlibs cwstring $(CMEMUNIT) dl termio \
- cthreads $(UNIXCPUNIT) $(FPWIDESTRINGUNIT) \
- $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT)
- rsts=math typinfo classes sysconst
- implicitunits=$(EXEINFOUNIT) $(CP_UNITS) $(UNICODEDATAUNIT)
- [require]
- nortl=y
- [install]
- fpcpackage=y
- [default]
- target=openbsd
- [compiler]
- includedir=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(TARGETPROCINC)
- sourcedir=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC)
- [lib]
- libname=libfprtl.so
- libversion=2.0.0
- libunits=$(SYSTEMUNIT) $(OBJPASUNIT) $(STRINGSUNIT) \
- unix \
- dos \
- sysutils typinfo math \
- cpu mmx $(GETOPTSUNIT) $(HEAPTRCUNIT) \
- $(ERRORSUNIT)
- [prerules]
- RTL=..
- INC=$(RTL)/inc
- PORTSDIR=$(RTL)/unix
- PROCINC=$(RTL)/$(CPU_TARGET)
- BSDINC=$(RTL)/bsd
- BSDPROCINC=$(BSDINC)/$(CPU_TARGET)
- UNIXINC=$(RTL)/unix
- UNITPREFIX=rtl
- TARGETPROCINC=$(RTL)/openbsd/$(CPU_TARGET)
- SYSTEMUNIT=system
- LINUXUNIT=
- PRT0=prt0
- # Use new feature from 1.0.5 version
- # that generates release PPU files
- # which will not be recompiled
- ifdef RELEASE
- override FPCOPT+=-Ur
- endif
- # OpenBSD defaults to libc, no syscalls
- ifeq ($(FPC_USE_SYSCALL),)
- override FPCOPT+=-dFPC_USE_LIBC
- endif
- CPU_UNITS=
- SYSINIT_UNITS=si_prc si_c si_dll si_g
- LOADERS=prt0
- ifeq ($(ARCH),x86_64)
- CPU_UNITS=x86 $(PORTSUNIT) cpu
- endif
- ifeq ($(ARCH),i386)
- CPU_UNITS=x86 $(PORTSUNIT) cpu mmx
- 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=$(SYSINCDEPS) $(SYSCPUDEPS)
- #
- # Loaders
- #
- prt0$(OEXT) : $(CPU_TARGET)/$(PRT0).as
- $(AS) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) $(CPU_TARGET)/$(PRT0).as
- #
- # $(SYSINIT_UNITS) Units
- #
- si_prc$(PPUEXT) : si_prc.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(ARCH)/si_prc.inc $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- si_c$(PPUEXT) : si_c.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(ARCH)/si_c.inc $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- si_dll$(PPUEXT) : si_dll.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(ARCH)/si_dll.inc $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- si_g$(PPUEXT) : si_g.pp si_intf.inc si_impl.inc $(ARCH)/openbsd_ident.inc $(ARCH)/si_g.inc $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- #
- # System Units (System, Objpas, Strings)
- #
- $(SYSTEMUNIT)$(PPUEXT) : $(BSDINC)/$(SYSTEMUNIT).pp sysconst.inc systypes.inc syscalls.inc $(SYSDEPS)
- $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg $(BSDINC)/$(SYSTEMUNIT).pp
- #
- # System Dependent Units
- #
- unixtype$(PPUEXT): $(UNIXINC)/unixtype.pp $(UNIXINC)/ctypes.inc ptypes.inc $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- baseunix$(PPUEXT) : errno.inc ptypes.inc $(UNIXINC)/ctypes.inc \
- signal.inc $(UNIXINC)/bunxh.inc \
- $(BSDINC)/bunxsysc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
- $(BSDINC)/ostypes.inc $(BSDINC)/osmacro.inc $(UNIXINC)/gensigset.inc \
- $(UNIXINC)/genfuncs.inc $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) -Fu../unix -Fu../bsd ../unix/baseunix.pp
- unix$(PPUEXT) : $(UNIXINC)/unix.pp strings$(PPUEXT) $(INC)/textrec.inc $(INC)/filerec.inc \
- unxconst.inc $(UNIXINC)/timezone.inc \
- unxfunc.inc baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- linux$(PPUEXT) : baseunix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- unixutil$(PPUEXT) : $(UNIXINC)/unixutil.pp $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- #
- # TP7 Compatible RTL Units
- #
- dos$(PPUEXT) : $(UNIXINC)/dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
- unix$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $(UNIXINC)/dos.pp
- #
- # Graph
- #
- #
- # Delphi Compatible Units
- #
- sysutils$(PPUEXT) : $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
- $(OBJPASUNIT)$(PPUEXT) unix$(PPUEXT) $(ERRORSUNIT)$(PPUEXT) sysconst$(PPUEXT)
- $(COMPILER) -Fi$(OBJPASDIR)/sysutils $(UNIXINC)/sysutils.pp
- classes$(PPUEXT) : $(UNIXINC)/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
- sysutils$(PPUEXT) typinfo$(PPUEXT) $(FGLUNIT)$(PPUEXT) sortbase$(PPUEXT)
- $(COMPILER) -Fi$(OBJPASDIR)/classes $(UNIXINC)/classes.pp
- rtlconsts$(PPUEXT) : $(OBJPASDIR)/rtlconsts.pp
- $(COMPILER) $(OBJPASDIR)/rtlconsts.pp
- typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp $(OBJPASUNIT)$(PPUEXT)
- $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
- math$(PPUEXT): $(OBJPASDIR)/math.pp $(OBJPASUNIT)$(PPUEXT) sysutils$(PPUEXT)
- $(COMPILER) $(OBJPASDIR)/math.pp
- types$(PPUEXT) : $(OBJPASDIR)/types.pp $(OBJPASUNIT)$(PPUEXT) math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $(OBJPASDIR)/types.pp
- ctypes$(PPUEXT) : $(INC)/ctypes.pp unixtype$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- dl$(PPUEXT) : $(UNIXINC)/dl.pp ctypes$(PPUEXT) $(OBJPASUNIT)$(PPUEXT)
- $(COMPILER) $<
- dynlibs$(PPUEXT) : $(INC)/dynlibs.pas $(UNIXINC)/dynlibs.inc dl$(PPUEXT) $(OBJPASUNIT)$(PPUEXT)
- $(COMPILER) $<
- cwstring$(PPUEXT) : $(UNIXINC)/cwstring.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT) baseunix$(PPUEXT) unix$(PPUEXT) unixtype$(PPUEXT) ctypes$(PPUEXT) dynlibs$(PPUEXT)
- $(COMPILER) $<
- #
- # Other system-independent RTL Units
- #
- x86$(PPUEXT) : $(UNIXINC)/x86.pp $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- ifneq ($(findstring $(ARCH),x86_64 i386),)
- cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) sysutils$(PPUEXT)
- $(COMPILER) $<
- else
- cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- endif
- mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- bsd$(PPUEXT) : $(BSDINC)/bsd.pas initc$(PPUEXT) unix$(PPUEXT) syscall$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- initc$(PPUEXT) : $(UNIXINC)/initc.pp ctypes$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $<
- #
- # Other system-dependent RTL Units
- #
- syscall$(PPUEXT) : $(UNIXINC)/syscall.pp baseunix$(PPUEXT)
- $(COMPILER) $<
- # sysctl needs to also compile baseunix and syscall units, which
- # are respectively located in ../
- sysctl$(PPUEXT) : $(BSDINC)/sysctl.pp $(SYSTEMUNIT)$(PPUEXT) syscall$(PPUEXT) unixtype$(PPUEXT)
- $(COMPILER) -Fu$(UNIXINC) -Fu$(BSDINC) $(BSDINC)/sysctl.pp
- sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp $(OBJPASUNIT)$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
- $(COMPILER) $(OBJPASDIR)/sysconst.pp
- cthreads$(PPUEXT) : $(UNIXINC)/cthreads.pp
- $(COMPILER) $<
- rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp
- $(COMPILER) $(OBJPASDIR)/rtlconst.pp
|