diff --git a/utils/Makefile b/utils/Makefile index 649c9f1f2d..5979b6e3b1 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -1,5 +1,5 @@ # -# Makefile generated by fpcmake v0.99.13 on 1999-11-23 09:33 +# Makefile generated by fpcmake v0.99.13 on 1999-11-24 23:15 # defaultrule: all @@ -118,11 +118,12 @@ endif # Targets -EXEOBJECTS=ppufiles ppudump ppumove ppdep ptop rstconv fpcmake data2inc +DIROBJECTS+=$(wildcard tply h2pas) +EXEOBJECTS+=ppufiles ppudump ppumove ppdep ptop rstconv data2inc fpcmake # Clean -EXTRACLEANUNITS=ppu ptopu +EXTRACLEANUNITS+=ppu ptopu # Install @@ -250,11 +251,6 @@ ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif - -ifdef NEEDOPT -override FPCOPT+=$(NEEDOPT) -endif - # RTL first and then Unit dir (a unit can override RTLunit). Don't add the # dirs if fpcdir=. which can be used for the rtl makefiles ifdef FPCDIR @@ -277,6 +273,11 @@ ifdef SMARTLINK override FPCOPT+=-CX endif +# Debug +ifdef DEBUG +override FPCOPT+=-g +endif + # Add commandline options ifdef OPT override FPCOPT+=$(OPT) @@ -587,59 +588,68 @@ endif # Default rules ##################################################################### -.PHONY: defaultrule all smart shared \ +.PHONY: defaultrule all debug examples test smart shared \ showinstall install zipinstall zipinstalladd \ clean cleanall depend info -smart: fpc_smart +all: fpc_all $(addsuffix _all,$(DIROBJECTS)) -shared: fpc_shared +debug: fpc_debug $(addsuffix _debug,$(DIROBJECTS)) -showinstall: fpc_showinstall +examples: $(addsuffix _examples,$(DIROBJECTS)) -zipinstall: fpc_zipinstall +test: $(addsuffix _test,$(DIROBJECTS)) -zipinstalladd: fpc_zipinstalladd +smart: fpc_smart $(addsuffix _smart,$(DIROBJECTS)) -cleanall: fpc_cleanall +shared: fpc_shared $(addsuffix _shared,$(DIROBJECTS)) -depend: fpc_depend +showinstall: fpc_showinstall $(addsuffix _showinstall,$(DIROBJECTS)) -info: fpc_info +install: fpc_install $(addsuffix _install,$(DIROBJECTS)) + +zipinstall: fpc_zipinstall $(addsuffix _zipinstall,$(DIROBJECTS)) + +zipinstalladd: fpc_zipinstalladd $(addsuffix _zipinstalladd,$(DIROBJECTS)) + +clean: fpc_clean $(addsuffix _clean,$(DIROBJECTS)) + +cleanall: fpc_cleanall $(addsuffix _cleanall,$(DIROBJECTS)) + +depend: $(addsuffix _depend,$(DIROBJECTS)) + +info: fpc_info $(addsuffix _info,$(DIROBJECTS)) + +##################################################################### +# Exes +##################################################################### + +.PHONY: fpc_exes + +EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS)) +EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS)) + +override ALLTARGET+=fpc_exes +override INSTALLEXEFILES+=$(EXEFILES) +override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES) + +fpc_exes: $(EXEFILES) ##################################################################### # General compile rules ##################################################################### -.PHONY: fpc_all fpc_units fpc_exes fpc_loaders +.PHONY: fpc_all fpc_debug -# Create Filenames -ifdef LOADEROBJECTS -LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS)) -endif -ifdef EXEOBJECTS -EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS)) -EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS)) -endif -ifdef UNITOBJECTS -UNITPPUFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS)) -endif +fpc_all: $(ALLTARGET) + +fpc_debug: + $(MAKE) all DEBUG=1 + +# General compile rules, available for both possible PASEXT .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp -ifdef DEFAULTUNITS -fpc_all: fpc_loaders fpc_units -else -fpc_all: fpc_loaders fpc_units fpc_exes -endif - -fpc_loaders: $(LOADEROFILES) - -fpc_units: $(UNITPPUFILES) - -fpc_exes: $(EXEFILES) - -# General compile rules, available for both possible PASEXT %$(PPUEXT): %.pp $(COMPILER) $< $(REDIR) $(EXECPASS) @@ -656,9 +666,6 @@ fpc_exes: $(EXEFILES) $(COMPILER) $< $(REDIR) $(EXECPASS) -%$(OEXT): %$(LOADEREXT) - $(AS) -o $*$(OEXT) $< - ##################################################################### # Library ##################################################################### @@ -690,9 +697,6 @@ endif .PHONY: fpc_showinstall fpc_install -ifdef UNITPPUFILES -override INSTALLPPUFILES:=$(UNITPPUFILES) -endif ifdef EXTRAINSTALLUNITS override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)) endif @@ -708,14 +712,9 @@ endif endif endif -fpc_showinstall: -ifndef DEFAULTUNITS -ifdef EXEOBJECTS - @$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(EXEFILES)) -endif -endif -ifdef LOADEROBJECTS - @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(LOADEROFILES)) +fpc_showinstall: $(SHOWINSTALLTARGET) +ifdef INSTALLEXEFILES + @$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES)) endif ifdef INSTALLPPUFILES @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES)) @@ -730,21 +729,15 @@ ifdef EXTRAINSTALLFILES @$(ECHO) $(addprefix "\n"$(EXTRAINSTALLDIR)/,$(EXTRAINSTALLFILES)) endif -fpc_install: +fpc_install: $(INSTALLTARGET) # Create UnitInstallFiles -ifndef DEFAULTUNITS -ifdef EXEOBJECTS +ifdef INSTALLEXEFILES $(MKDIR) $(BININSTALLDIR) # Compress the exes if upx is defined ifdef UPXPROG - -$(UPXPROG) $(EXEFILES) + -$(UPXPROG) $(INSTALLEXEFILES) endif - $(INSTALLEXE) $(EXEFILES) $(BININSTALLDIR) -endif -endif -ifdef LOADEROBJECTS - $(MKDIR) $(UNITINSTALLDIR) - $(INSTALL) $(LOADEROFILES) $(UNITINSTALLDIR) + $(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR) endif ifdef INSTALLPPUFILES $(MKDIR) $(UNITINSTALLDIR) @@ -833,25 +826,25 @@ endif .PHONY: fpc_clean fpc_cleanall -ifdef UNITPPUFILES -override CLEANPPUFILES=$(UNITPPUFILES) -endif ifdef EXTRACLEANUNITS override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)) endif -fpc_clean: -ifdef EXEOBJECTS - -$(DEL) $(EXEFILES) $(EXEOFILES) +ifdef CLEANPPUFILES +ifdef PPUFILES +CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES)) endif -ifdef LOADEROBJECTS - -$(DEL) $(LOADEROFILES) +endif + +fpc_clean: $(CLEANTARGET) +ifdef CLEANEXEFILES + -$(DEL) $(CLEANEXEFILES) endif ifdef CLEANPPUFILES -$(DEL) $(CLEANPPUFILES) -ifdef PPUFILES - -$(DEL) $(shell $(PPUFILES) $(CLEANPPUFILES)) endif +ifneq ($(CLEANPPULINKFILES),) + -$(DEL) $(CLEANPPULINKFILES) endif ifdef EXTRACLEANFILES -$(DEL) $(EXTRACLEANFILES) @@ -859,22 +852,13 @@ endif -$(DEL) $(PPAS) link.res log fpc_cleanall: -ifdef EXEOBJECTS - -$(DEL) $(EXEFILES) +ifdef CLEANEXEFILES + -$(DEL) $(CLEANEXEFILES) endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) -$(DEL) $(PPAS) link.res log -##################################################################### -# Depend rules -##################################################################### - -.PHONY: fpc_depend - -fpc_depend: - $(PPDEP) $(UNITOBJECTS) - ##################################################################### # Info rules ##################################################################### @@ -928,19 +912,100 @@ endif @$(ECHO) ExtraInstallDir...... $(EXTRAINSTALLDIR) @$(ECHO) + +# Dir tply + +tply_all: + $(MAKE) -C tply all + +tply_debug: + $(MAKE) -C tply debug + +tply_examples: + $(MAKE) -C tply examples + +tply_test: + $(MAKE) -C tply test + +tply_smart: + $(MAKE) -C tply smart + +tply_shared: + $(MAKE) -C tply shared + +tply_showinstall: + $(MAKE) -C tply showinstall + +tply_install: + $(MAKE) -C tply install + +tply_zipinstall: + $(MAKE) -C tply zipinstall + +tply_zipinstalladd: + $(MAKE) -C tply zipinstalladd + +tply_clean: + $(MAKE) -C tply clean + +tply_cleanall: + $(MAKE) -C tply cleanall + +tply_depend: + $(MAKE) -C tply depend + +tply_info: + $(MAKE) -C tply info + + +# Dir h2pas + +h2pas_all: + $(MAKE) -C h2pas all + +h2pas_debug: + $(MAKE) -C h2pas debug + +h2pas_examples: + $(MAKE) -C h2pas examples + +h2pas_test: + $(MAKE) -C h2pas test + +h2pas_smart: + $(MAKE) -C h2pas smart + +h2pas_shared: + $(MAKE) -C h2pas shared + +h2pas_showinstall: + $(MAKE) -C h2pas showinstall + +h2pas_install: + $(MAKE) -C h2pas install + +h2pas_zipinstall: + $(MAKE) -C h2pas zipinstall + +h2pas_zipinstalladd: + $(MAKE) -C h2pas zipinstalladd + +h2pas_clean: + $(MAKE) -C h2pas clean + +h2pas_cleanall: + $(MAKE) -C h2pas cleanall + +h2pas_depend: + $(MAKE) -C h2pas depend + +h2pas_info: + $(MAKE) -C h2pas info + ##################################################################### # Users rules ##################################################################### - -.PHONY: h2pas_all h2pas_clean h2pas_install - -all: fpc_all h2pas_all - -clean: fpc_clean h2pas_clean - -install: fpc_install h2pas_install - # # PPU Tools # @@ -968,16 +1033,9 @@ fpcmake$(EXEEXT): fpcmake.pp fpcmake.inc ppdep$(EXEEXT): ppdep.pp -data2inc$(EXEEXT): data2inc.pp - # -# H2Pas +# Don't export some tools, which are found in the current dir if it's in +# the path, so are not valid for the subdirs # -h2pas_all: - $(MAKE) -C h2pas all -h2pas_clean: - $(MAKE) -C h2pas clean - -h2pas_install: - $(MAKE) -C h2pas install +unexport PPUFILES PPUMOVE DATA2INC diff --git a/utils/Makefile.fpc b/utils/Makefile.fpc index 4c353ddb0a..31e780bcf9 100644 --- a/utils/Makefile.fpc +++ b/utils/Makefile.fpc @@ -3,7 +3,8 @@ # [targets] -programs=ppufiles ppudump ppumove ppdep ptop rstconv fpcmake data2inc +dirs=tply h2pas +programs=ppufiles ppudump ppumove ppdep ptop rstconv data2inc fpcmake [clean] units=ppu ptopu @@ -19,14 +20,6 @@ fpcdir=.. targetdir=. [rules] -.PHONY: h2pas_all h2pas_clean h2pas_install - -all: fpc_all h2pas_all - -clean: fpc_clean h2pas_clean - -install: fpc_install h2pas_install - # # PPU Tools # @@ -55,14 +48,8 @@ fpcmake$(EXEEXT): fpcmake.pp fpcmake.inc ppdep$(EXEEXT): ppdep.pp # -# H2Pas +# Don't export some tools, which are found in the current dir if it's in +# the path, so are not valid for the subdirs # -h2pas_all: - $(MAKE) -C h2pas all - -h2pas_clean: - $(MAKE) -C h2pas clean - -h2pas_install: - $(MAKE) -C h2pas install +unexport PPUFILES PPUMOVE DATA2INC diff --git a/utils/h2pas/Makefile b/utils/h2pas/Makefile index 498a9d0746..4322837350 100644 --- a/utils/h2pas/Makefile +++ b/utils/h2pas/Makefile @@ -1,5 +1,5 @@ # -# Makefile generated by fpcmake v0.99.13 on 1999-11-22 18:25 +# Makefile generated by fpcmake v0.99.13 on 1999-11-24 23:15 # defaultrule: all @@ -118,11 +118,11 @@ endif # Targets -EXEOBJECTS=h2pas +EXEOBJECTS+=h2pas # Clean -EXTRACLEANUNITS=options lexlib scan yacclib converu +EXTRACLEANUNITS+=options lexlib scan yacclib converu # Install @@ -247,7 +247,6 @@ ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif - ifdef NEEDOPT override FPCOPT+=$(NEEDOPT) endif @@ -265,6 +264,11 @@ ifdef SMARTLINK override FPCOPT+=-CX endif +# Debug +ifdef DEBUG +override FPCOPT+=-g +endif + # Add commandline options ifdef OPT override FPCOPT+=$(OPT) @@ -565,12 +569,14 @@ endif # Default rules ##################################################################### -.PHONY: defaultrule all smart shared \ +.PHONY: defaultrule all debug examples test smart shared \ showinstall install zipinstall zipinstalladd \ clean cleanall depend info all: fpc_all +debug: fpc_debug + smart: fpc_smart shared: fpc_shared @@ -585,45 +591,40 @@ zipinstalladd: fpc_zipinstalladd clean: fpc_clean -clean_all: fpc_clean_all - -depend: fpc_depend +cleanall: fpc_cleanall info: fpc_info +##################################################################### +# Exes +##################################################################### + +.PHONY: fpc_exes + +EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS)) +EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS)) + +override ALLTARGET+=fpc_exes +override INSTALLEXEFILES+=$(EXEFILES) +override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES) + +fpc_exes: $(EXEFILES) + ##################################################################### # General compile rules ##################################################################### -.PHONY: fpc_all fpc_units fpc_exes fpc_loaders +.PHONY: fpc_all fpc_debug -# Create Filenames -ifdef LOADEROBJECTS -LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS)) -endif -ifdef EXEOBJECTS -EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS)) -EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS)) -endif -ifdef UNITOBJECTS -UNITPPUFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS)) -endif +fpc_all: $(ALLTARGET) + +fpc_debug: + $(MAKE) all DEBUG=1 + +# General compile rules, available for both possible PASEXT .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp -ifdef DEFAULTUNITS -fpc_all: fpc_loaders fpc_units -else -fpc_all: fpc_loaders fpc_units fpc_exes -endif - -fpc_loaders: $(LOADEROFILES) - -fpc_units: $(UNITPPUFILES) - -fpc_exes: $(EXEFILES) - -# General compile rules, available for both possible PASEXT %$(PPUEXT): %.pp $(COMPILER) $< $(REDIR) $(EXECPASS) @@ -640,9 +641,6 @@ fpc_exes: $(EXEFILES) $(COMPILER) $< $(REDIR) $(EXECPASS) -%$(OEXT): %$(LOADEREXT) - $(AS) -o $*$(OEXT) $< - ##################################################################### # Library ##################################################################### @@ -674,9 +672,6 @@ endif .PHONY: fpc_showinstall fpc_install -ifdef UNITPPUFILES -override INSTALLPPUFILES:=$(UNITPPUFILES) -endif ifdef EXTRAINSTALLUNITS override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)) endif @@ -692,14 +687,9 @@ endif endif endif -fpc_showinstall: -ifndef DEFAULTUNITS -ifdef EXEOBJECTS - @$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(EXEFILES)) -endif -endif -ifdef LOADEROBJECTS - @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(LOADEROFILES)) +fpc_showinstall: $(SHOWINSTALLTARGET) +ifdef INSTALLEXEFILES + @$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES)) endif ifdef INSTALLPPUFILES @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES)) @@ -714,21 +704,15 @@ ifdef EXTRAINSTALLFILES @$(ECHO) $(addprefix "\n"$(EXTRAINSTALLDIR)/,$(EXTRAINSTALLFILES)) endif -fpc_install: +fpc_install: $(INSTALLTARGET) # Create UnitInstallFiles -ifndef DEFAULTUNITS -ifdef EXEOBJECTS +ifdef INSTALLEXEFILES $(MKDIR) $(BININSTALLDIR) # Compress the exes if upx is defined ifdef UPXPROG - -$(UPXPROG) $(EXEFILES) + -$(UPXPROG) $(INSTALLEXEFILES) endif - $(INSTALLEXE) $(EXEFILES) $(BININSTALLDIR) -endif -endif -ifdef LOADEROBJECTS - $(MKDIR) $(UNITINSTALLDIR) - $(INSTALL) $(LOADEROFILES) $(UNITINSTALLDIR) + $(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR) endif ifdef INSTALLPPUFILES $(MKDIR) $(UNITINSTALLDIR) @@ -817,25 +801,25 @@ endif .PHONY: fpc_clean fpc_cleanall -ifdef UNITPPUFILES -override CLEANPPUFILES=$(UNITPPUFILES) -endif ifdef EXTRACLEANUNITS override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)) endif -fpc_clean: -ifdef EXEOBJECTS - -$(DEL) $(EXEFILES) $(EXEOFILES) +ifdef CLEANPPUFILES +ifdef PPUFILES +CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES)) endif -ifdef LOADEROBJECTS - -$(DEL) $(LOADEROFILES) +endif + +fpc_clean: $(CLEANTARGET) +ifdef CLEANEXEFILES + -$(DEL) $(CLEANEXEFILES) endif ifdef CLEANPPUFILES -$(DEL) $(CLEANPPUFILES) -ifdef PPUFILES - -$(DEL) $(shell $(PPUFILES) $(CLEANPPUFILES)) endif +ifneq ($(CLEANPPULINKFILES),) + -$(DEL) $(CLEANPPULINKFILES) endif ifdef EXTRACLEANFILES -$(DEL) $(EXTRACLEANFILES) @@ -843,22 +827,13 @@ endif -$(DEL) $(PPAS) link.res log fpc_cleanall: -ifdef EXEOBJECTS - -$(DEL) $(EXEFILES) +ifdef CLEANEXEFILES + -$(DEL) $(CLEANEXEFILES) endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) -$(DEL) $(PPAS) link.res log -##################################################################### -# Depend rules -##################################################################### - -.PHONY: fpc_depend - -fpc_depend: - $(PPDEP) $(UNITOBJECTS) - ##################################################################### # Info rules ##################################################################### @@ -916,7 +891,6 @@ endif # Users rules ##################################################################### - # do we have pyacc? ifndef PYACC PYACC=$(strip $(wildcard $(addsuffix /pyacc$(EXEEXT),$(SEARCHPATH)))) diff --git a/utils/h2pas/Makefile.fpc b/utils/h2pas/Makefile.fpc index 515c7fcb26..8085fb3378 100644 --- a/utils/h2pas/Makefile.fpc +++ b/utils/h2pas/Makefile.fpc @@ -1,9 +1,8 @@ # -# Makefile.fpc for shedit +# Makefile.fpc for h2pas # [targets] -units= programs=h2pas [clean] @@ -54,4 +53,3 @@ yacc: lex : $(PLEX) scan.l endif - diff --git a/utils/simulator/Makefile b/utils/simulator/Makefile index 0e29529583..da8cf66130 100644 --- a/utils/simulator/Makefile +++ b/utils/simulator/Makefile @@ -1,5 +1,5 @@ # -# Makefile generated by fpcmake v0.99.13 on 1999-11-10 23:53 +# Makefile generated by fpcmake v0.99.13 on 1999-11-24 23:15 # defaultrule: all @@ -118,11 +118,11 @@ endif # Targets -EXEOBJECTS=alphasim +EXEOBJECTS+=alphasim # Clean -EXTRACLEANUNITS=mm64 fastmm64 simlib simbase +EXTRACLEANUNITS+=mm64 fastmm64 simlib simbase # Install @@ -135,6 +135,12 @@ EXTRACLEANUNITS=mm64 fastmm64 simlib simbase ifndef FPCDIR FPCDIR=../.. endif +ifndef PACKAGEDIR +PACKAGEDIR=$(FPCDIR)/packages +endif + +# Packages + # Libraries @@ -154,6 +160,11 @@ else BASEDIR=. endif +# this can be set to 'rtl' when the RTL units are installed +ifndef UNITPREFIX +UNITPREFIX=units +endif + # set the prefix directory where to install everything ifndef PREFIXINSTALLDIR ifdef inlinux @@ -163,43 +174,8 @@ export PREFIXINSTALLDIR=/pp endif endif -# set the directory to the rtl base -ifndef RTLDIR -ifdef RTL -RTLDIR:=$(RTL)/$(OS_TARGET) -else -RTLDIR:=$(FPCDIR)/rtl/$(OS_TARGET) -endif -endif - -# specify where units are. -ifndef UNITDIR -ifdef UNITS -UNITDIR=$(UNITS)/$(OS_TARGET) -else -UNITDIR=$(FPCDIR)/units/$(OS_TARGET) -endif -endif -ifeq ($(strip $(wildcard $(UNITDIR)/*)),) -UNITDIR= -endif - -# On linux, try to find where libgcc.a is. -ifdef inlinux -ifndef GCCLIBDIR -export GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`) -endif -endif - -# Where to find other libraries -ifdef inlinux -ifndef OTHERLIBDIR -export OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }') -endif -endif - ##################################################################### -# Install Directories based on BASEINSTALLDIR +# Install Directories ##################################################################### # set the base directory where to install everything @@ -211,16 +187,6 @@ BASEINSTALLDIR=$(PREFIXINSTALLDIR) endif endif - -# Linux binary really goes to baseinstalldir -ifndef LIBINSTALLDIR -ifdef inlinux -LIBINSTALLDIR=$(BASEINSTALLDIR) -else -LIBINSTALLDIR=$(BASEINSTALLDIR)/lib -endif -endif - # set the directory where to install the binaries ifndef BININSTALLDIR ifdef inlinux @@ -230,15 +196,28 @@ BININSTALLDIR=$(BASEINSTALLDIR)/bin/$(OS_TARGET) endif endif -# Where the .msg files will be stored -ifndef MSGINSTALLDIR -MSGINSTALLDIR=$(BASEINSTALLDIR)/msg +# set the directory where to install the units. +ifndef UNITINSTALLDIR +UNITINSTALLDIR=$(BASEINSTALLDIR)/$(UNITPREFIX)/$(OS_TARGET) endif -# Where the .msg files will be stored +# Where to install shared libraries +ifndef LIBINSTALLDIR +ifdef inlinux +LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib +else +LIBINSTALLDIR=$(UNITINSTALLDIR) +endif +endif + +# Where the source files will be stored ifndef SOURCEINSTALLDIR +ifdef inlinux +SOURCEINSTALLDIR=$(PREFIXINSTALLDIR)/src/fpc-$(FPC_VERSION) +else SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source endif +endif # Where the doc files will be stored ifndef DOCINSTALLDIR @@ -249,42 +228,9 @@ DOCINSTALLDIR=$(BASEINSTALLDIR)/doc endif endif -######################## -# Unit Directories -######################## - -# this can be set to 'rtl' when the RTL units are installed -ifndef UNITPREFIX -UNITPREFIX=units -endif - -# set the directory where to install the units. -ifndef UNITINSTALLDIR -UNITINSTALLDIR=$(BASEINSTALLDIR)/$(UNITPREFIX)/$(OS_TARGET) -endif - -# set the directory where to install the units. -ifndef STATIC_UNITINSTALLDIR -STATIC_UNITINSTALLDIR=$(UNITINSTALLDIR)/static -endif - -# set the directory where to install the units. -ifndef SHARED_UNITINSTALLDIR -SHARED_UNITINSTALLDIR=$(UNITINSTALLDIR)/shared -endif - -# set the directory where to install the libs (must exist) -ifndef STATIC_LIBINSTALLDIR -STATIC_LIBINSTALLDIR=$(STATIC_UNITINSTALLDIR) -endif - -# set the directory where to install the libs (must exist) -ifndef SHARED_LIBINSTALLDIR -ifdef inlinux -SHARED_LIBINSTALLDIR=$(PREFIXINSTALLDIR)/lib -else -SHARED_LIBINSTALLDIR=$(SHARED_UNITINSTALLDIR) -endif +# Where the some extra (data)files will be stored +ifndef EXTRAINSTALLDIR +EXTRAINSTALLDIR=$(BASEINSTALLDIR) endif @@ -300,11 +246,6 @@ ifneq ($(OS_TARGET),$(OS_SOURCE)) override FPCOPT+=-T$(OS_TARGET) endif - -ifdef NEEDOPT -override FPCOPT+=$(NEEDOPT) -endif - # RTL first and then Unit dir (a unit can override RTLunit). Don't add the # dirs if fpcdir=. which can be used for the rtl makefiles ifdef FPCDIR @@ -314,8 +255,13 @@ endif endif # Smartlinking -ifeq ($(SMARTLINK),YES) -override FPCOPT+=-Cx +ifdef SMARTLINK +override FPCOPT+=-CX +endif + +# Debug +ifdef DEBUG +override FPCOPT+=-g endif # Add commandline options @@ -412,16 +358,6 @@ ifndef LD LD=ld endif -# Where is the ppumove program ? -ifndef PPUMOVE -PPUMOVE=ppumove -endif - -# Where is the ppdep program ? -ifndef PPDEP -PPDEP=ppdep -endif - # ppas.bat / ppas.sh ifdef inlinux PPAS=ppas.sh @@ -457,6 +393,36 @@ export ECHO:=$(firstword $(ECHO)) endif endif +# ppdep +ifndef PPDEP +PPDEP:=$(strip $(wildcard $(addsuffix /ppdep$(EXEEXT),$(SEARCHPATH)))) +ifeq ($(PPDEP),) +PPDEP= +else +export PPDEP:=$(firstword $(PPDEP)) +endif +endif + +# ppumove +ifndef PPUMOVE +PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(EXEEXT),$(SEARCHPATH)))) +ifeq ($(PPUMOVE),) +PPUMOVE= +else +export PPUMOVE:=$(firstword $(PPUMOVE)) +endif +endif + +# ppufiles +ifndef PPUFILES +PPUFILES:=$(strip $(wildcard $(addsuffix /ppufiles$(EXEEXT),$(SEARCHPATH)))) +ifeq ($(PPUFILES),) +PPUFILES= +else +export PPUFILES:=$(firstword $(PPUFILES)) +endif +endif + # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase # upx uses that one itself (PFV) ifndef UPXPROG @@ -598,67 +564,62 @@ endif # Default rules ##################################################################### -.PHONY: defaultrule all staticlib sharedlib showinstall install \ - staticinstall sharedinstall libinstall zipinstall zipinstalladd \ +.PHONY: defaultrule all debug examples test smart shared \ + showinstall install zipinstall zipinstalladd \ clean cleanall depend info all: fpc_all -staticlib: fpc_staticlib +debug: fpc_debug -sharedlib: fpc_sharedlib +smart: fpc_smart + +shared: fpc_shared showinstall: fpc_showinstall install: fpc_install -staticinstall: fpc_staticinstall - -sharedinstall: fpc_sharedinstall - -libinstall: fpc_libinstall - zipinstall: fpc_zipinstall zipinstalladd: fpc_zipinstalladd clean: fpc_clean -clean_all: fpc_clean_all - -depend: fpc_depend +cleanall: fpc_cleanall info: fpc_info +##################################################################### +# Exes +##################################################################### + +.PHONY: fpc_exes + +EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS)) +EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS)) + +override ALLTARGET+=fpc_exes +override INSTALLEXEFILES+=$(EXEFILES) +override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES) + +fpc_exes: $(EXEFILES) + ##################################################################### # General compile rules ##################################################################### -.PHONY: fpc_all fpc_units fpc_exes fpc_loaders +.PHONY: fpc_all fpc_debug -# Create Filenames -LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS)) -EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS)) -EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS)) -UNITPPUFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS)) -UNITOFILES=$(addsuffix $(OEXT),$(UNITOBJECTS)) -UNITAFILES=$(addsuffix $(STATICLIBEXT),$(UNITOBJECTS)) +fpc_all: $(ALLTARGET) + +fpc_debug: + $(MAKE) all DEBUG=1 + +# General compile rules, available for both possible PASEXT .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp -ifdef DEFAULTUNITS -fpc_all: fpc_loaders fpc_units -else -fpc_all: fpc_loaders fpc_units fpc_exes -endif - -fpc_loaders: $(LOADEROFILES) - -fpc_units: $(UNITPPUFILES) - -fpc_exes: $(EXEFILES) - -# General compile rules, available for both possible PASEXT %$(PPUEXT): %.pp $(COMPILER) $< $(REDIR) $(EXECPASS) @@ -675,25 +636,21 @@ fpc_exes: $(EXEFILES) $(COMPILER) $< $(REDIR) $(EXECPASS) -%$(OEXT): %$(LOADEREXT) - $(AS) -o $*$(OEXT) $< - ##################################################################### # Library ##################################################################### -.PHONY: fpc_staticlib fpc_sharedlib +.PHONY: fpc_smart fpc_shared # Default sharedlib units are all unit objects ifndef SHAREDLIBUNITOBJECTS SHAREDLIBUNITOBJECTS=$(UNITOBJECTS) endif -fpc_staticlib: - $(MAKE) libsclean - $(MAKE) all SMARTLINK=YES +fpc_smart: + $(MAKE) all SMARTLINK=1 -fpc_sharedlib: all +fpc_shared: all ifdef inlinux ifndef LIBNAME @$(ECHO) LIBNAME not set @@ -708,54 +665,64 @@ endif # Install rules ##################################################################### -.PHONY: fpc_showinstallfiles fpc_install +.PHONY: fpc_showinstall fpc_install -ifdef UNITOBJECTS -override UNITINSTALLFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES)) -endif ifdef EXTRAINSTALLUNITS -override EXTRAINSTALLFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRAINSTALLUNITS)) $(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS))) +override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRAINSTALLUNITS)) endif -fpc_showinstallfiles : all -ifndef DEFAULTUNITS -ifdef EXEOBJECTS - @$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(EXEFILES)) +ifdef INSTALLPPUFILES +ifdef PPUFILES +ifdef inlinux +INSTALLPPULINKFILES=$(shell $(PPUFILES) -S -O $(INSTALLPPUFILES)) +INSTALLPPULIBFILES=$(shell $(PPUFILES) -L $(INSTALLPPUFILES)) +else +INSTALLPPULINKFILES=$(shell $(PPUFILES) $(INSTALLPPUFILES)) endif endif -ifdef LOADEROBJECTS - @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(LOADEROFILES)) endif -ifdef UNITINSTALLFILES - @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(UNITINSTALLFILES)) + +fpc_showinstall: $(SHOWINSTALLTARGET) +ifdef INSTALLEXEFILES + @$(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(INSTALLEXEFILES)) +endif +ifdef INSTALLPPUFILES + @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPUFILES)) +ifneq ($(INSTALLPPULINKFILES),) + @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(INSTALLPPULINKFILES)) +endif +ifneq ($(INSTALLPPULIBFILES),) + @$(ECHO) $(addprefix "\n"$(LIBINSTALLDIR)/,$(INSTALLPPULIBFILES)) +endif endif ifdef EXTRAINSTALLFILES - @$(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(EXTRAINSTALLFILES)) + @$(ECHO) $(addprefix "\n"$(EXTRAINSTALLDIR)/,$(EXTRAINSTALLFILES)) endif -fpc_install: +fpc_install: $(INSTALLTARGET) # Create UnitInstallFiles -ifndef DEFAULTUNITS -ifdef EXEOBJECTS +ifdef INSTALLEXEFILES $(MKDIR) $(BININSTALLDIR) # Compress the exes if upx is defined ifdef UPXPROG - -$(UPXPROG) $(EXEFILES) + -$(UPXPROG) $(INSTALLEXEFILES) endif - $(INSTALLEXE) $(EXEFILES) $(BININSTALLDIR) + $(INSTALLEXE) $(INSTALLEXEFILES) $(BININSTALLDIR) endif -endif -ifdef LOADEROBJECTS +ifdef INSTALLPPUFILES $(MKDIR) $(UNITINSTALLDIR) - $(INSTALL) $(LOADEROFILES) $(UNITINSTALLDIR) + $(INSTALL) $(INSTALLPPUFILES) $(UNITINSTALLDIR) +ifneq ($(INSTALLPPULINKFILES),) + $(INSTALL) $(INSTALLPPULINKFILES) $(UNITINSTALLDIR) +endif +ifneq ($(INSTALLPPULIBFILES),) + $(MKDIR) $(LIBINSTALLDIR) + $(INSTALL) $(INSTALLPPULIBFILES) $(LIBINSTALLDIR) endif -ifdef UNITINSTALLFILES - $(MKDIR) $(UNITINSTALLDIR) - $(INSTALL) $(UNITINSTALLFILES) $(UNITINSTALLDIR) endif ifdef EXTRAINSTALLFILES - $(MKDIR) $(UNITINSTALLDIR) - $(INSTALL) $(EXTRAINSTALLFILES) $(UNITINSTALLDIR) + $(MKDIR) $(EXTRAINSTALLDIR) + $(INSTALL) $(EXTRAINSTALLFILES) $(EXTRAINSTALLDIR) endif ##################################################################### @@ -827,48 +794,40 @@ endif # Clean rules ##################################################################### -.PHONY: fpc_clean fpc_libsclean fpc_cleanall +.PHONY: fpc_clean fpc_cleanall -ifdef UNITOBJECTS -override UNITCLEANFILES=$(wildcard $(UNITPPUFILES) $(UNITOFILES) $(UNITAFILES)) -endif ifdef EXTRACLEANUNITS -override EXTRACLEANFILES+=$(wildcard $(addsuffix $(OEXT),$(EXTRACLEANUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRACLEANUNITS)) $(addsuffix $(PPUEXT),$(EXTRACLEANUNITS))) +override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(EXTRACLEANUNITS)) endif -fpc_clean: -ifdef EXEOBJECTS - -$(DEL) $(EXEFILES) $(EXEOFILES) +ifdef CLEANPPUFILES +ifdef PPUFILES +CLEANPPULINKFILES=$(shell $(PPUFILES) $(CLEANPPUFILES)) endif -ifdef LOADEROBJECTS - -$(DEL) $(LOADEROFILES) endif -ifdef UNITCLEANFILES - -$(DEL) $(UNITCLEANFILES) + +fpc_clean: $(CLEANTARGET) +ifdef CLEANEXEFILES + -$(DEL) $(CLEANEXEFILES) +endif +ifdef CLEANPPUFILES + -$(DEL) $(CLEANPPUFILES) +endif +ifneq ($(CLEANPPULINKFILES),) + -$(DEL) $(CLEANPPULINKFILES) endif ifdef EXTRACLEANFILES -$(DEL) $(EXTRACLEANFILES) endif -$(DEL) $(PPAS) link.res log -fpc_libsclean: clean - -$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) - fpc_cleanall: -ifdef EXEOBJECTS - -$(DEL) $(EXEFILES) +ifdef CLEANEXEFILES + -$(DEL) $(CLEANEXEFILES) endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) - -##################################################################### -# Depend rules -##################################################################### - -.PHONY: fpc_depend - -fpc_depend: - $(PPDEP) $(UNITOBJECTS) + -$(DEL) $(PPAS) link.res log ##################################################################### # Info rules @@ -890,6 +849,20 @@ fpc_infocfg: @$(ECHO) Target.... $(OS_TARGET) @$(ECHO) +fpc_infoobjects: + @$(ECHO) + @$(ECHO) == Object info == + @$(ECHO) + @$(ECHO) LoaderObjects..... $(LOADEROBJECTS) + @$(ECHO) UnitObjects....... $(UNITOBJECTS) + @$(ECHO) ExeObjects........ $(EXEOBJECTS) + @$(ECHO) + @$(ECHO) ExtraCleanUnits... $(EXTRACLEANUNITS) + @$(ECHO) ExtraCleanFiles... $(EXTRACLEANFILES) + @$(ECHO) + @$(ECHO) ExtraInstallUnits. $(EXTRAINSTALLUNITS) + @$(ECHO) ExtraInstallFiles. $(EXTRAINSTALLFILES) + @$(ECHO) fpc_infoinstall: @$(ECHO) @@ -902,13 +875,10 @@ endif @$(ECHO) @$(ECHO) BaseInstallDir....... $(BASEINSTALLDIR) @$(ECHO) BinInstallDir........ $(BININSTALLDIR) - @$(ECHO) UnitInstallDir....... $(UNITINSTALLDIR) - @$(ECHO) StaticUnitInstallDir. $(STATIC_UNITINSTALLDIR) - @$(ECHO) SharedUnitInstallDir. $(SHARED_UNITINSTALLDIR) @$(ECHO) LibInstallDir........ $(LIBINSTALLDIR) - @$(ECHO) StaticLibInstallDir.. $(STATIC_LIBINSTALLDIR) - @$(ECHO) SharedLibInstallDir.. $(SHARED_LIBINSTALLDIR) - @$(ECHO) MsgInstallDir........ $(MSGINSTALLDIR) + @$(ECHO) UnitInstallDir....... $(UNITINSTALLDIR) + @$(ECHO) SourceInstallDir..... $(SOURCEINSTALLDIR) @$(ECHO) DocInstallDir........ $(DOCINSTALLDIR) + @$(ECHO) ExtraInstallDir...... $(EXTRAINSTALLDIR) @$(ECHO) diff --git a/utils/simulator/Makefile.fpc b/utils/simulator/Makefile.fpc index 265a9b0e47..e4a551a8a8 100644 --- a/utils/simulator/Makefile.fpc +++ b/utils/simulator/Makefile.fpc @@ -1,5 +1,5 @@ # -# Makefile.fpc for shedit +# Makefile.fpc for Alpha simulator # [targets]