# # $Id$ # Copyright (c) 1999 by the Free Pascal Development Team # # Common makefile for Free Pascal # # See the file COPYING.FPC, included in this distribution, # for details about the copyright. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # ##################################################################### # Autodetect OS (Linux or Dos or Windows NT) # define inlinux when running under linux # define inWinNT when running under WinNT ##################################################################### # We want only / in the path ! override PATH:=$(subst \,/,$(PATH)) # Search for PWD and determine also if we are under linux PWD=$(strip $(wildcard $(addsuffix /pwd.exe,$(subst ;, ,$(PATH))))) ifeq ($(PWD),) PWD=$(strip $(wildcard $(addsuffix /pwd,$(subst :, ,$(PATH))))) ifeq ($(PWD),) nopwd: @echo You need the GNU utils package to use this makefile! @echo Get ftp://tflily.fys.kuleuven.ac.be/pub/fpc/dist/go32v2/utilgo32.zip @exit else inlinux=1 endif else PWD:=$(firstword $(PWD)) endif # Detect NT - NT sets OS to Windows_NT ifndef inlinux ifeq ($(OS),Windows_NT) inWinNT=1 endif endif # Detect OS/2 - OS/2 has OS2_SHELL defined ifndef inlinux ifndef inWinNT ifdef OS2_SHELL inOS2=1 endif endif endif # The extension of executables ifdef inlinux EXEEXT= else EXEEXT=.exe endif ##################################################################### # Check for FPCDIR environment ##################################################################### ifndef FPCDIR nofpcdir: @echo You need to set the FPCDIR environment variable to use @echo this Makefile. @echo Example: SET FPCDIR=/pp @exit endif ##################################################################### # Targets ##################################################################### # What compiler to use ? ifndef PP ifdef inOS2 PP=ppos2$(EXEEXT) else PP=ppc386$(EXEEXT) endif endif # Target OS ifndef OS_TARGET OS_TARGET=$(shell $(PP) -iTO) endif # Source OS ifndef OS_SOURCE OS_SOURCE=$(shell $(PP) -iSO) endif # CPU ifndef CPU CPU=$(shell $(PP) -iTP) endif # FPC version FPC_VERSION=$(shell $(PP) -iV) # Options ifndef OPT OPT= endif # assembler, redefine it if cross compiling ifndef AS AS=as endif # linker, but probably not used ifndef LD LD=ld endif # Release ? Then force OPT and don't use extra opts via commandline ifdef RELEASE override OPT:=-Xs -OG2p2 -n endif # Verbose settings (warning,note,info) ifdef VERBOSE override OPT+=-vwni endif ##################################################################### # Shell commands ##################################################################### # To copy pograms ifndef COPY COPY=cp -fp endif # To move pograms ifndef MOVE MOVE=mv -f endif # Check delete program ifndef DEL DEL=rm -f endif # Check deltree program ifndef DELTREE DELTREE=rm -rf endif # To install files ifndef INSTALL ifdef inlinux INSTALL=install -m 644 else INSTALL=$(COPY) # ginstall has the strange thing to stubify all .o files ! #INSTALL=ginstall -m 644 endif endif # To install programs ifndef INSTALLEXE ifdef inlinux INSTALLEXE=install -m 755 else INSTALLEXE=$(COPY) # ginstall has the strange thing to stubify all .o files ! #INSTALLEXE=ginstall -m 755 endif endif # To make a directory. ifndef MKDIR ifdef inlinux MKDIR=install -m 755 -d else MKDIR=ginstall -m 755 -d endif endif ##################################################################### # Default Tools ##################################################################### # ppas.bat / ppas.sh ifdef inlinux PPAS=ppas.sh else ifdef inOS2 PPAS=ppas.cmd else PPAS=ppas.bat endif endif # The path which is search separated by spaces ifdef inlinux SEARCHPATH=$(subst :, ,$(PATH)) else SEARCHPATH=$(subst ;, ,$(PATH)) endif # ldconfig to rebuild .so cache ifdef inlinux LDCONFIG=ldconfig else LDCONFIG= endif # Where is the ppumove program ? ifndef PPUMOVE PPUMOVE=ppumove endif # diff ifndef DIFF DIFF=$(strip $(wildcard $(addsuffix /diff$(EXEEXT),$(SEARCHPATH)))) ifeq ($(DIFF),) DIFF= else export DIFF:=$(firstword $(DIFF)) endif endif # cmp ifndef CMP CMP=$(strip $(wildcard $(addsuffix /cmp$(EXEEXT),$(SEARCHPATH)))) ifeq ($(CMP),) CMP= else export CMP:=$(firstword $(CMP)) endif endif # echo ifndef ECHO ECHO=$(strip $(wildcard $(addsuffix /echo$(EXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO=@echo else export ECHO:=@$(firstword $(ECHO)) endif endif # gdate/date ifndef DATE DATE=$(strip $(wildcard $(addsuffix /date$(EXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE=$(strip $(wildcard $(addsuffix /gdate$(EXEEXT),$(SEACHPATH)))) ifeq ($(DATE),) DATE= else export DATE:=$(firstword $(DATE)) endif else export DATE:=$(firstword $(DATE)) endif endif # Sed ifndef SED SED=$(strip $(wildcard $(addsuffix /sed$(EXEEXT),$(SEARCHPATH)))) ifeq ($(SED),) SED= else export SED:=$(firstword $(SED)) endif endif # Look if UPX is found for go32v2 and win32 ifndef UPX ifeq ($(OS_TARGET),go32v2) UPX=1 endif ifeq ($(OS_TARGET),win32) UPX=1 endif ifdef UPX UPX=$(strip $(wildcard $(addsuffix /upx$(EXEEXT),$(SEARCHPATH)))) ifeq ($(UPX),) UPX= else export UPX:=$(firstword $(UPX)) endif else UPX= endif endif # ZipProg, you can't use Zip as the var name (PFV) ifndef ZIPPROG ZIPPROG=$(strip $(wildcard $(addsuffix /zip$(EXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) ZIPPROG= else export ZIPPROG:=$(firstword $(ZIPPROG)) -D9 -r endif endif ifndef ZIPEXT ZIPEXT=.zip endif ##################################################################### # Default Directories ##################################################################### # Base dir ifdef PWD BASEDIR:=$(shell $(PWD)) else BASEDIR=. 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 # set the prefix directory where to install everything ifndef PREFIXINSTALLDIR ifdef inlinux PREFIXINSTALLDIR=/usr else PREFIXINSTALLDIR=/pp endif endif # set the base directory where to install everything ifndef BASEINSTALLDIR ifdef inlinux BASEINSTALLDIR=$(PREFIXINSTALLDIR)/lib/fpc/$(FPC_VERSION) else BASEINSTALLDIR=$(PREFIXINSTALLDIR) endif endif # On linux, try to find where libgcc.a is. ifdef inlinux ifndef GCCLIBDIR GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`) endif ifndef OTHERLIBDIR OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }') endif endif ##################################################################### # Install Directories based on BASEINSTALLDIR ##################################################################### # 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 BININSTALLDIR=$(PREFIXINSTALLDIR)/bin else BININSTALLDIR=$(BASEINSTALLDIR)/bin/$(OS_TARGET) endif endif # Where the .msg files will be stored ifndef MSGINSTALLDIR MSGINSTALLDIR=$(BASEINSTALLDIR)/msg endif # Where the .msg files will be stored ifndef SOURCEINSTALLDIR SOURCEINSTALLDIR=$(BASEINSTALLDIR)/source endif # Where the doc files will be stored ifndef DOCINSTALLDIR ifdef inlinux DOCINSTALLDIR=$(PREFIXINSTALLDIR)/doc/fpc/$(FPC_VERSION) else 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 endif ##################################################################### # Compiler Command Line ##################################################################### # Load commandline OPTDEF and add CPU define override PPOPTDEF:=$(OPTDEF) -d$(CPU) # Load commandline OPT and add target and unit dir to be sure override PPOPT:=-T$(OS_TARGET) $(NEEDOPT) $(OPT) # RTL first and then Unit dir (a unit can override RTLunit) ifdef RTLDIR override PPOPT+=$(addprefix -Fu,$(RTLDIR)) endif ifdef UNITDIR override PPOPT+=$(addprefix -Fu,$(UNITDIR)) endif ifdef NEEDUNITDIR override PPOPT+=$(addprefix -Fu,$(NEEDUNITDIR)) endif # Library dirs ifdef LIBDIR override PPOPT+=$(addprefix -Fl,$(LIBDIR)) endif ifdef NEEDLIBDIR override PPOPT+=$(addprefix -Fl,$(NEEDLIBDIR)) endif # Add GCC lib path if asked ifdef NEEDGCCLIB ifdef GCCLIBDIR override PPOPT+=-Fl$(GCCLIBDIR) endif endif # Add Other dirs path if asked ifdef NEEDOTHERLIB ifdef OTHERLIBDIR override PPOPT+=$(addprefix -Fl,$(OTHERLIBDIR)) endif endif # Object dirs ifdef OBJDIR override PPOPT+=$(addprefix -Fo,$(OBJDIR)) endif ifdef NEEDOBJDIR override PPOPT+=$(addprefix -Fo,$(NEEDOBJDIR)) endif # Add include dirs INC and PROCINC and OSINC ifdef INC override PPOPT+=$(addprefix -Fi,$(INC)) endif ifdef PROCINC override PPOPT+=$(addprefix -Fi,$(PROCINC)) endif ifdef OSINC override PPOPT+=$(addprefix -Fi,$(OSINC)) endif # Target dirs ifdef TARGETDIR override PPOPT+=-FE$(TARGETDIR) endif ifdef UNITTARGETDIR override PPOPT+=-FU$(UNITTARGETDIR) endif # Smartlinking ifeq ($(SMARTLINK),YES) override PPOPT+=-Cx endif # Add defines from PPOPTDEF to PPOPT override PPOPT:=$(PPOPT) $(PPOPTDEF) # Was a config file specified ? ifdef CFGFILE override PPOPT:=$(PPOPT) @$(CFGFILE) endif override COMPILER=$(PP) $(PPOPT) ##################################################################### # Default extensions ##################################################################### # Default needed extensions (Go32v2,Linux) LOADEREXT=.as PPLEXT=.ppl PPUEXT=.ppu OEXT=.o ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.so PACKAGESUFFIX= # Go32v1 ifeq ($(OS_TARGET),go32v1) PPUEXT=.pp1 OEXT=.o1 ASMEXT=.s1 SMARTEXT=.sl1 STATICLIBEXT=.a1 SHAREDLIBEXT=.so1 PACKAGESUFFIX=v1 endif # Go32v2 ifeq ($(OS_TARGET),go32v2) PACKAGESUFFIX=go32 endif # Linux ifeq ($(OS_TARGET),linux) PACKAGESUFFIX=linux endif # Win32 ifeq ($(OS_TARGET),win32) PPUEXT=.ppw OEXT=.ow ASMEXT=.sw SMARTEXT=.slw STATICLIBEXT=.aw SHAREDLIBEXT=.dll PACKAGESUFFIX=win32 endif # OS/2 ifeq ($(OS_TARGET),os2) PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 SMARTEXT=.so STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll PACKAGESUFFIX=os2 endif # library prefix LIBPREFIX=lib ifeq ($(OS_TARGET),go32v2) LIBPREFIX= endif ifeq ($(OS_TARGET),go32v1) LIBPREFIX= endif # determine which .pas extension is used ifndef PASEXT ifdef EXEOBJECTS override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(EXEOBJECTS))))) else override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(UNITOBJECTS))))) endif ifeq ($(TESTPAS),) PASEXT=.pp else PASEXT=.pas endif endif # also call ppas if with command option -s ifeq (,$(findstring -s ,$(COMPILER))) EXECPPAS= else EXECPPAS=@$(PPAS) endif ifdef DATE DATESTR=$(shell $(DATE) +%Y%m%d) else DATESTR= endif ##################################################################### # Export commandline values, so nesting use the same values ##################################################################### # Makefile export FPCDIR FPCMAKE # Compiler info export FPC_VERSION OS_SOURCE OS_TARGET CPU export OPT OPTDEF PP RELEASE VERBOSE SMARTLINK # Installation export PREFIXINSTALLDIR PACKAGESUFFIX # Directories export GCCLIBDIR OTHERLIBDIR ##################################################################### # General compile rules ##################################################################### # Create Filenames LOADEROFILES=$(addsuffix $(OEXT),$(LOADEROBJECTS)) EXEFILES=$(addsuffix $(EXEEXT),$(EXEOBJECTS)) EXEOFILES=$(addsuffix $(OEXT),$(EXEOBJECTS)) UNITFILES=$(addsuffix $(PPUEXT),$(UNITOBJECTS)) UNITOFILES=$(addsuffix $(OEXT),$(UNITOBJECTS)) UNITAFILES=$(addsuffix $(STATICLIBEXT),$(UNITOBJECTS)) .PHONY : fpc_all fpc_units fpc_loaders fpc_exes \ fpc_staticlib fpc_sharedlib \ fpc_clean fpc_libsclean fpc_cleanall \ fpc_install fpc_staticinstall fpc_sharedinstall fpc_libinstall \ fpc_info fpc_cfginfo fpc_objectinfo fpc_installinfo fpc_filesinfo\ fpc_dirinfo .SUFFIXES : $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp ##################################################################### # Default ##################################################################### ifdef DEFAULTUNITS fpc_all: fpc_loaders fpc_units else fpc_all: fpc_loaders fpc_units fpc_exes endif fpc_loaders: $(LOADEROFILES) fpc_units: $(UNITFILES) fpc_exes: $(EXEFILES) # General compile rules, available for both possible PASEXT %$(PPUEXT): %.pp $(COMPILER) $< $(REDIR) $(EXECPASS) %$(PPUEXT): %.pas $(COMPILER) $< $(REDIR) $(EXECPASS) %$(EXEEXT): %.pp $(COMPILER) $< $(REDIR) $(EXECPASS) %$(EXEEXT): %.pas $(COMPILER) $< $(REDIR) $(EXECPASS) %$(OEXT): %$(LOADEREXT) $(AS) -o $*$(OEXT) $< ##################################################################### # Library ##################################################################### # Default sharedlib units are all unit objects ifndef SHAREDLIBUNITOBJECTS SHAREDLIBUNITOBJECTS=UNITOBJECTS endif fpc_staticlib: $(MAKE) libsclean $(MAKE) all SMARTLINK=YES fpc_sharedlib: ifdef inlinux ifndef LIBNAME $(ECHO) LIBNAME not set else $(MAKE) libsclean $(MAKE) all $(PPUMOVE) $(SHAREDLIBUNITOBJECTS) -o$(LIBNAME) endif else @$(ECHO) Shared Libraries not supported endif ##################################################################### # Install rules ##################################################################### fpc_showinstallfiles : all ifndef DEFAULTUNITS ifdef EXEOBJECTS $(ECHO) $(addprefix "\n"$(BININSTALLDIR)/,$(EXEFILES)) endif endif ifdef LOADEROBJECTS $(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(LOADEROFILES)) endif ifdef UNITOBJECTS $(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(UNITFILES)) $(ECHO) $(addprefix "\n"$(UNITINSTALLDIR)/,$(UNITOFILES)) endif fpc_install : all ifndef DEFAULTUNITS ifdef EXEOBJECTS $(MKDIR) $(BININSTALLDIR) # Compress the exes if upx is defined ifdef UPX -$(UPX) $(EXEFILES) endif $(INSTALLEXE) $(EXEFILES) $(BININSTALLDIR) endif endif ifdef LOADEROBJECTS $(MKDIR) $(UNITINSTALLDIR) $(INSTALL) $(LOADEROFILES) $(UNITINSTALLDIR) endif ifdef UNITOBJECTS $(MKDIR) $(UNITINSTALLDIR) $(INSTALL) $(UNITFILES) $(UNITINSTALLDIR) ifeq ($(SMARTLINK),YES) $(INSTALL) $(LIBPREFIX)$(LIBNAME)$(LIBEXT) $(UNITINSTALLDIR) else -$(INSTALL) $(UNITOFILES) $(UNITINSTALLDIR) endif endif # Target for the sharedlib install which is not avail for all targets ifdef inlinux SHAREDINSTALL=sharedinstall else SHAREDINSTALL= endif fpc_staticinstall: staticlib $(MKDIR) $(STATIC_UNITINSTALLDIR) $(INSTALL) $(UNITFILES) $(STATIC_UNITINSTALLDIR) $(MKDIR) $(STATIC_LIBINSTALLDIR) $(INSTALLEXE) *$(STATICLIBEXT) $(STATIC_LIBINSTALLDIR) fpc_sharedinstall: sharedlib $(MKDIR) $(SHARED_UNITINSTALLDIR) $(INSTALL) $(UNITFILES) $(SHARED_UNITINSTALLDIR) $(MKDIR) $(SHARED_LIBINSTALLDIR) $(INSTALLEXE) *$(SHAREDLIBEXT) $(SHARED_LIBINSTALLDIR) fpc_libinstall: staticinstall $(SHAREDINSTALL) ##################################################################### # Zip ##################################################################### # Temporary path to pack a file ifndef PACKDIR ifndef inlinux PACKDIR=pack_tmp else PACKDIR=/tmp/fpc-pack endif endif # Test dir if none specified ifndef PACKAGEDIR PACKAGEDIR=$(BASEDIR) endif # Add .zip/.tar.gz extension ifdef ZIPNAME ifndef inlinux override ZIPNAME:=$(ZIPNAME)$(ZIPEXT) endif endif # Default target which is call before zipping ifndef ZIPTARGET ZIPTARGET=install endif # Note: This will not remove the zipfile first fpc_zipinstalladd: ifndef ZIPNAME @$(ECHO) Please specify ZIPNAME! @exit else $(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR) ifdef inlinux gzip -d $(PACKAGEDIR)/$(ZIPNAME).tar.gz cd $(PACKDIR) ; tar rv --file $(PACKAGEDIR)/$(ZIPNAME).tar * ; cd $(BASEDIR) gzip $(PACKAGEDIR)/$(ZIPNAME).tar else cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR) endif $(DELTREE) $(PACKDIR) endif # First remove the zip and then install fpc_zipinstall: ifndef ZIPNAME @$(ECHO) Please specify ZIPNAME! @exit else $(DEL) $(PACKAGEDIR)/$(ZIPNAME) $(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR) ifdef inlinux cd $(PACKDIR) ; tar cvz --file $(PACKAGEDIR)/$(ZIPNAME).tar.gz * ; cd $(BASEDIR) else cd $(PACKDIR) ; $(ZIPPROG) $(PACKAGEDIR)/$(ZIPNAME) * ; cd $(BASEDIR) endif $(DELTREE) $(PACKDIR) endif ##################################################################### # Clean rules ##################################################################### fpc_clean: ifdef UNITOBJECTS -$(DEL) $(UNITOFILES) $(UNITAFILES) $(UNITFILES) endif ifdef EXEOBJECTS -$(DEL) $(EXEFILES) $(EXEOFILES) endif ifdef LOADEROBJECTS -$(DEL) $(LOADEROFILES) endif ifdef EXTRAUNITS -$(DEL) $(addsuffix $(OEXT),$(EXTRAUNITS)) $(addsuffix $(STATICLIBEXT),$(EXTRAUNITS)) $(addsuffix $(PPUEXT),$(EXTRAUNITS)) endif -$(DEL) $(PPAS) link.res log fpc_libsclean: clean -$(DEL) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) fpc_cleanall: ifdef EXEOBJECTS -$(DEL) $(EXEFILES) endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) ##################################################################### # Depend rules ##################################################################### fpc_depend: makedep $(UNITOBJECTS) ##################################################################### # Info rules ##################################################################### fpc_info: fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo\ fpc_dirinfo fpc_cfginfo: @$(ECHO) @$(ECHO) == Configuration info == @$(ECHO) @$(ECHO) FPCDir.... $(FPCDIR) @$(ECHO) FPCMake... $(FPCMAKE) @$(ECHO) @$(ECHO) Version... $(FPC_VERSION) @$(ECHO) CPU....... $(CPU) @$(ECHO) Source.... $(OS_SOURCE) @$(ECHO) Target.... $(OS_TARGET) @$(ECHO) fpc_dirinfo: ifdef inlinux @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) ifdef NEEDGCCLIB @$(ECHO) GCC library is needed. endif ifdef NEEDOTHERLIB @$(ECHO) Other library is needed. endif @$(ECHO) Basedir......... $(BASEDIR) @$(ECHO) @$(ECHO) GCC library..... $(GCCLIBDIR) @$(ECHO) Other library... $(OTHERLIBDIR) @$(ECHO) endif fpc_toolsinfo: @$(ECHO) @$(ECHO) == Tools info == @$(ECHO) @$(ECHO) Pwd....... $(PWD) @$(ECHO) Echo...... $(ECHO) ifdef SED @$(ECHO) Sed....... $(SED) endif ifdef DATE @$(ECHO) Date...... $(DATE) endif ifdef DIFF @$(ECHO) Diff...... $(DIFF) endif ifdef CMP @$(ECHO) Cmp....... $(CMP) endif ifdef UPX @$(ECHO) Upx....... $(UPX) endif ifdef ZIPPROG @$(ECHO) Zip....... $(ZIPPROG) endif @$(ECHO) fpc_objectinfo: @$(ECHO) @$(ECHO) == Object info == @$(ECHO) @$(ECHO) LoaderObjects. $(LOADEROBJECTS) @$(ECHO) UnitObjects... $(UNITOBJECTS) @$(ECHO) ExeObjects.... $(EXEOBJECTS) @$(ECHO) fpc_installinfo: @$(ECHO) @$(ECHO) == Install info == @$(ECHO) @$(ECHO) DateStr.............. $(DATESTR) @$(ECHO) PackageSuffix........ $(PACKAGESUFFIX) @$(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) DocInstallDir........ $(DOCINSTALLDIR) @$(ECHO) # try to get the files in the currentdir PASFILES:=$(wildcard *.pas) PPFILES:=$(wildcard *.pp) INCFILES:=$(wildcard *.inc) MSGFILES:=$(wildcard *.msg) ASFILES:=$(wildcard *.as) fpc_filesinfo: @$(ECHO) @$(ECHO) == Files info == @$(ECHO) ifdef PASFILES @$(ECHO) Pas files are $(PASFILES) endif ifdef PPFILES @$(ECHO) PP files are $(PPFILES) endif ifdef INCFILES @$(ECHO) Inc files are $(INCFILES) endif ifdef MSGFILES @$(ECHO) Msg files are $(MSGFILES) endif ifdef ASFILES @$(ECHO) As files are $(ASFILES) endif # # $Log$ # Revision 1.35 1999-06-18 11:03:08 peter # * merged # # Revision 1.34 1999/06/18 10:11:18 peter # * merged # # Revision 1.33 1999/06/13 22:43:23 peter # * merged from fixes # # Revision 1.32 1999/06/11 13:31:14 hajny # * fixes for OS/2 # # Revision 1.31.2.3 1999/06/18 10:55:31 peter # * version fixes # * EXTRAUNITS to set extra units that are build and needs to be cleaned # # Revision 1.31.2.2 1999/06/18 10:07:27 peter # * rtl/linux and units/linux also for linux installs # # Revision 1.31.2.1 1999/06/13 22:36:38 peter # * install msg files in msg/ instead of bin for not linux # # Revision 1.31 1999/06/10 15:02:08 peter # * last fixes for 0.99.12 release # # Revision 1.30 1999/06/03 09:36:31 peter # * first things for sharedlib to work again # # Revision 1.29 1999/06/01 13:27:24 peter # * updates for linux # # Revision 1.28 1999/05/30 11:33:04 peter # * releasever removed, fpc_version will be used # # Revision 1.27 1999/05/16 02:37:30 peter # + fpc_showinstallfiles to show which files will be added to the system # # Revision 1.26 1999/05/14 22:46:21 peter # * patch for comments in ld.so.conf # # Revision 1.25 1999/05/12 16:17:07 peter # + utils_X targets # * missing export of prefixinstalldir # # Revision 1.24 1999/05/11 00:48:12 peter # * fixed some typos # # Revision 1.23 1999/05/10 15:18:43 peter # * NEEDOTHERLIB define to load ld.so.conf for linux # # Revision 1.22 1999/05/04 23:20:42 pierre # + FPC_VERSION (with shell $(PP) -iV) # # Revision 1.21 1999/05/03 22:38:10 peter # * typo with -TP which should be -iTP # # Revision 1.20 1999/05/03 22:29:04 peter # * os_source,os_target depends now on the compiler # * cpu depends on the compiler # * datestr y2k proof # # Revision 1.19 1999/05/03 18:04:58 peter # + sourceinstalldir # # Revision 1.18 1999/04/29 15:52:38 peter # * better gcclib dir detection # # Revision 1.17 1999/04/20 12:33:32 michael # + Fixed GCCLIB detection. Added fpc_dirinfo target # # Revision 1.16 1999/04/20 12:07:49 michael # Added autodetect of gcc lib for linux # # Revision 1.15 1999/04/16 20:12:35 michael # + install target now correctly takes the BASEINSTALLDIR on linux # # Revision 1.14 1999/04/08 10:16:17 peter # * zipinstall for linux with .tar.gz # # Revision 1.13 1999/04/01 22:52:28 peter # * don't override pasext if set # # Revision 1.12 1999/03/29 16:04:58 peter # * place -T as the first parameter on the commandline so a OPT=-A can # overwrite it # # Revision 1.11 1999/03/16 00:46:55 peter # * makefile.fpc targets start with fpc_ # * small updates for install scripts # # Revision 1.10 1999/03/12 21:01:30 michael # + Changed clean and libsclean to fpc_target # # Revision 1.9 1999/03/11 17:54:00 peter # * better check for makefile.fpc # * check if cmp exists # # Revision 1.8 1999/03/09 01:35:47 peter # * makefile.fpc updates and defaultfpcdir var # #