2 # Makefile generated by fpcmake v1.00 [2000/12/19]
7 #####################################################################
8 # Autodetect OS (Linux or Dos or Windows NT or OS/2)
9 # define inUnix when running under Unix (Linux,FreeBSD)
10 # define inWinNT when running under WinNT
11 # define inOS2 when running under OS/2
12 #####################################################################
14 # We need only / in the path
15 override PATH
:=$(subst \
,/,$(PATH
))
17 # Search for PWD and determine also if we are under linux
18 PWD
:=$(strip $(wildcard $(addsuffix /pwd.exe
,$(subst ;, ,$(PATH
)))))
20 PWD
:=$(strip $(wildcard $(addsuffix /pwd
,$(subst :, ,$(PATH
)))))
23 @echo You need the GNU utils package to use this Makefile
!
24 @echo Get ftp
://ftp.freepascal.org
/pub
/fpc
/dist/go32v2
/utilgo32.zip
28 PWD
:=$(firstword $(PWD
))
31 PWD
:=$(firstword $(PWD
))
34 # Detect NT - NT sets OS to Windows_NT
35 # Detect OS/2 - OS/2 has OS2_SHELL defined
37 ifeq ($(OS
),Windows_NT
)
46 # The extension of executables
53 # The path which is searched separated by spaces
55 SEARCHPATH
=$(subst :, ,$(PATH
))
57 SEARCHPATH
=$(subst ;, ,$(PATH
))
62 BASEDIR
:=$(shell $(PWD
))
67 #####################################################################
68 # FPC version/target Detection
69 #####################################################################
71 # What compiler to use ?
73 # Compatibility with old makefiles
80 override FPC
:=$(subst $(SRCEXEEXT
),,$(FPC
))
81 override FPC
:=$(subst \
,/,$(FPC
))$(SRCEXEEXT
)
85 OS_TARGET
:=$(shell $(FPC
) -iTO
)
90 OS_SOURCE
:=$(shell $(FPC
) -iSO
)
95 CPU_TARGET
:=$(shell $(FPC
) -iTP
)
100 CPU_SOURCE
:=$(shell $(FPC
) -iSP
)
105 FPC_VERSION
:=$(shell $(FPC
) -iV
)
108 export FPC OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FPC_VERSION
110 #####################################################################
112 #####################################################################
114 # Test FPCDIR to look if the RTL dir exists
116 override FPCDIR
:=$(subst \
,/,$(FPCDIR
))
117 ifeq ($(wildcard $(FPCDIR
)/rtl
),)
118 ifeq ($(wildcard $(FPCDIR
)/units
),)
119 override FPCDIR
=wrong
123 override FPCDIR
=wrong
127 ifeq ($(FPCDIR
),wrong
)
128 override FPCDIR
=..
/..
129 ifeq ($(wildcard $(FPCDIR
)/rtl
),)
130 ifeq ($(wildcard $(FPCDIR
)/units
),)
131 override FPCDIR
=wrong
137 ifeq ($(FPCDIR
),wrong
)
139 override FPCDIR
=/usr
/local
/lib
/fpc
/$(FPC_VERSION
)
140 ifeq ($(wildcard $(FPCDIR
)/units
),)
141 override FPCDIR
=/usr
/lib
/fpc
/$(FPC_VERSION
)
144 override FPCDIR
:=$(subst /$(FPC
),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC
),$(SEARCHPATH
))))))
145 override FPCDIR
:=$(FPCDIR
)/..
146 ifeq ($(wildcard $(FPCDIR
)/rtl
),)
147 ifeq ($(wildcard $(FPCDIR
)/units
),)
148 override FPCDIR
:=$(FPCDIR
)/..
149 ifeq ($(wildcard $(FPCDIR
)/rtl
),)
150 ifeq ($(wildcard $(FPCDIR
)/units
),)
151 override FPCDIR
=c
:/pp
160 PACKAGESDIR
=$(FPCDIR
)/packages
171 UNITSDIR
=$(FPCDIR
)/units
/$(OS_TARGET
)
174 #####################################################################
176 #####################################################################
181 override EXEOBJECTS
+=eratos qsort hello blackbox magic lines
201 override PACKAGES
+=rtl
208 INFOTARGET
=fpc_infocfg fpc_infoobjects fpc_infoinstall
210 #####################################################################
212 #####################################################################
216 ECHO
:=$(strip $(wildcard $(addsuffix /gecho
$(EXEEXT
),$(SEARCHPATH
))))
218 ECHO
:=$(strip $(wildcard $(addsuffix /echo
$(SRCEXEEXT
),$(SEARCHPATH
))))
223 ECHO
:=$(firstword $(ECHO
))
227 ECHO
:=$(firstword $(ECHO
))
247 # Check delete program
252 # Check deltree program
260 INSTALL
:=install -c
-m
644
266 # To install programs
269 INSTALLEXE
:=install -c
-m
755
275 # To make a directory.
278 MKDIR
:=install -m
755 -d
280 MKDIR
:=ginstall
-m
755 -d
284 export ECHO ECHOE COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
286 #####################################################################
288 #####################################################################
290 # assembler, redefine it if cross compiling
295 # linker, but probably not used
311 # ldconfig to rebuild .so cache
320 PPUMOVE
:=$(strip $(wildcard $(addsuffix /ppumove
$(SRCEXEEXT
),$(SEARCHPATH
))))
324 PPUMOVE
:=$(firstword $(PPUMOVE
))
331 PPUFILES
:=$(strip $(wildcard $(addsuffix /ppufiles
$(SRCEXEEXT
),$(SEARCHPATH
))))
335 PPUFILES
:=$(firstword $(PPUFILES
))
340 # Look if UPX is found for go32v2 and win32. We can't use $UPX becuase
341 # upx uses that one itself (PFV)
343 ifeq ($(OS_TARGET
),go32v2
)
346 ifeq ($(OS_TARGET
),win32
)
350 UPXPROG
:=$(strip $(wildcard $(addsuffix /upx
$(SRCEXEEXT
),$(SEARCHPATH
))))
354 UPXPROG
:=$(firstword $(UPXPROG
))
362 # ZipProg, you can't use Zip as the var name (PFV)
364 ZIPPROG
:=$(strip $(wildcard $(addsuffix /zip
$(SRCEXEEXT
),$(SEARCHPATH
))))
368 ZIPPROG
:=$(firstword $(ZIPPROG
))
378 TARPROG
:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT
),$(SEARCHPATH
))))
382 TARPROG
:=$(firstword $(TARPROG
))
395 #####################################################################
397 #####################################################################
399 # Default needed extensions (Go32v2,Linux)
413 ifeq ($(OS_TARGET
),go32v1
)
424 ifeq ($(OS_TARGET
),go32v2
)
429 ifeq ($(OS_TARGET
),linux
)
436 ifeq ($(OS_TARGET
),freebsd
)
439 FPCMADE
=fpcmade.freebsd
443 ifeq ($(OS_TARGET
),win32
)
454 ifeq ($(OS_TARGET
),os2
)
466 ifeq ($(OS_TARGET
),go32v2
)
469 ifeq ($(OS_TARGET
),go32v1
)
473 # determine which .pas extension is used
476 override TESTPAS
:=$(strip $(wildcard $(addsuffix .pas
,$(firstword $(EXEOBJECTS
)))))
478 override TESTPAS
:=$(strip $(wildcard $(addsuffix .pas
,$(firstword $(UNITOBJECTS
)))))
488 # Check if the dirs really exists, else turn it off
489 ifeq ($(wildcard $(UNITSDIR
)),)
492 ifeq ($(wildcard $(TOOLKITSDIR
)),)
495 ifeq ($(wildcard $(PACKAGESDIR
)),)
498 ifeq ($(wildcard $(COMPONENTSDIR
)),)
503 # PACKAGESDIR packages
508 ifneq ($(wildcard $(FPCDIR
)/rtl
),)
509 ifneq ($(wildcard $(FPCDIR
)/rtl
/$(OS_TARGET
)),)
510 PACKAGEDIR_RTL
=$(FPCDIR
)/rtl
/$(OS_TARGET
)
512 PACKAGEDIR_RTL
=$(FPCDIR
)/rtl
514 ifeq ($(wildcard $(PACKAGEDIR_RTL
)/$(FPCMADE
)),)
515 override COMPILEPACKAGES
+=package_rtl
517 $(MAKE
) -C
$(PACKAGEDIR_RTL
) all
519 UNITDIR_RTL
=$(PACKAGEDIR_RTL
)
522 ifneq ($(wildcard $(UNITSDIR
)/rtl
),)
523 ifneq ($(wildcard $(UNITSDIR
)/rtl
/$(OS_TARGET
)),)
524 UNITDIR_RTL
=$(UNITSDIR
)/rtl
/$(OS_TARGET
)
526 UNITDIR_RTL
=$(UNITSDIR
)/rtl
533 override NEEDUNITDIR
+=$(UNITDIR_RTL
)
538 #####################################################################
539 # Default Directories
540 #####################################################################
542 # Linux and freebsd use unix dirs with /usr/bin, /usr/lib
543 # When zipping use the target as default, when normal install then
544 # use the source os as default
547 ifeq ($(OS_TARGET
),linux
)
550 ifeq ($(OS_TARGET
),freebsd
)
555 ifeq ($(OS_SOURCE
),linux
)
558 ifeq ($(OS_SOURCE
),freebsd
)
563 # set the prefix directory where to install everything
564 ifndef PREFIXINSTALLDIR
566 PREFIXINSTALLDIR
=/usr
571 export PREFIXINSTALLDIR
573 # Where to place the resulting zip files
575 DESTZIPDIR
:=$(BASEDIR
)
579 #####################################################################
580 # Install Directories
581 #####################################################################
583 # set the base directory where to install everything
584 ifndef BASEINSTALLDIR
586 BASEINSTALLDIR
=$(PREFIXINSTALLDIR
)/lib
/fpc
/$(FPC_VERSION
)
588 BASEINSTALLDIR
=$(PREFIXINSTALLDIR
)
592 # set the directory where to install the binaries
595 BININSTALLDIR
=$(PREFIXINSTALLDIR
)/bin
597 BININSTALLDIR
=$(BASEINSTALLDIR
)/bin
/$(OS_TARGET
)
601 # set the directory where to install the units.
602 ifndef UNITINSTALLDIR
603 UNITINSTALLDIR
=$(BASEINSTALLDIR
)/units
/$(OS_TARGET
)
605 UNITINSTALLDIR
:=$(UNITINSTALLDIR
)/$(UNITSUBDIR
)
609 # Where to install shared libraries
612 LIBINSTALLDIR
=$(PREFIXINSTALLDIR
)/lib
614 LIBINSTALLDIR
=$(UNITINSTALLDIR
)
618 # Where the source files will be stored
619 ifndef SOURCEINSTALLDIR
621 SOURCEINSTALLDIR
=$(PREFIXINSTALLDIR
)/src
/fpc-
$(FPC_VERSION
)
623 SOURCEINSTALLDIR
=$(BASEINSTALLDIR
)/source
626 SOURCEINSTALLDIR
:=$(SOURCEINSTALLDIR
)/$(SOURCESUBDIR
)
630 # Where the doc files will be stored
633 DOCINSTALLDIR
=$(PREFIXINSTALLDIR
)/doc
/fpc-
$(FPC_VERSION
)
635 DOCINSTALLDIR
=$(BASEINSTALLDIR
)/doc
639 # Where to install the examples, under linux we use the doc dir
640 # because the copytree command will create a subdir itself
641 ifndef EXAMPLEINSTALLDIR
643 EXAMPLEINSTALLDIR
=$(DOCINSTALLDIR
)/examples
645 EXAMPLEINSTALLDIR
=$(BASEINSTALLDIR
)/examples
648 EXAMPLEINSTALLDIR
:=$(EXAMPLEINSTALLDIR
)/$(EXAMPLESUBDIR
)
652 # Where the some extra (data)files will be stored
653 ifndef DATAINSTALLDIR
654 DATAINSTALLDIR
=$(BASEINSTALLDIR
)
657 #####################################################################
659 #####################################################################
667 override FPC
=redir
-eo
$(FPC
)
669 # set the verbosity to max
671 override REDIR
:= >> $(REDIRFILE
)
675 #####################################################################
676 # Compiler Command Line
677 #####################################################################
679 # Load commandline OPTDEF and add FPC_CPU define
680 override FPCOPTDEF
:=-d
$(CPU_TARGET
)
682 # Load commandline OPT and add target and unit dir to be sure
683 ifneq ($(OS_TARGET
),$(OS_SOURCE
))
684 override FPCOPT
+=-T
$(OS_TARGET
)
687 # User dirs should be first, so they are looked at first
689 override FPCOPT
+=$(addprefix -Fu
,$(UNITDIR
))
692 override FPCOPT
+=$(addprefix -Fl
,$(LIBDIR
))
695 override FPCOPT
+=$(addprefix -Fo
,$(OBJDIR
))
698 override FPCOPT
+=$(addprefix -Fi
,$(INCDIR
))
706 # Smartlinking creation
713 override FPCOPT
+=-gl
-dDEBUG
716 # Release mode (strip, optimize and don't load ppc386.cfg)
717 # 0.99.12b has a bug in the optimizer so don't use it by default
719 ifeq ($(FPC_VERSION
),0.99.12)
720 override FPCOPT
+=-Xs
-OGp3
-n
722 override FPCOPT
+=-Xs
-OG2p3
-n
733 override FPCOPT
+=-OG2p3
736 # Verbose settings (warning,note,info)
738 override FPCOPT
+=-vwni
742 override FPCOPT
+=$(addprefix -Fu
,$(NEEDUNITDIR
))
746 override FPCOPT
+=-Fu
$(UNITSDIR
)
749 # Target dirs and the prefix to use for clean/install
751 override FPCOPT
+=-FE
$(TARGETDIR
)
752 ifeq ($(TARGETDIR
),.
)
753 override TARGETDIRPREFIX
=
755 override TARGETDIRPREFIX
=$(TARGETDIR
)/
759 override FPCOPT
+=-FU
$(UNITTARGETDIR
)
760 ifeq ($(UNITTARGETDIR
),.
)
761 override UNITTARGETDIRPREFIX
=
763 override UNITTARGETDIRPREFIX
=$(TARGETDIR
)/
767 override UNITTARGETDIR
=$(TARGETDIR
)
768 override UNITTARGETDIRPREFIX
=$(TARGETDIRPREFIX
)
772 # Add commandline options last so they can override
774 override FPCOPT
+=$(OPT
)
777 # Add defines from FPCOPTDEF to FPCOPT
779 override FPCOPT
+=$(FPCOPTDEF
)
784 override FPCOPT
+=-Fr
$(ERRORFILE
)
787 # Was a config file specified ?
789 override FPCOPT
+=@
$(CFGFILE
)
792 # For win32 the options are passed using the environment FPCEXTCMD
793 ifeq ($(OS_SOURCE
),win32
)
794 override FPCEXTCMD
:=$(FPCOPT
)
795 override FPCOPT
:=!FPCEXTCMD
799 # Compiler commandline
800 override COMPILER
:=$(FPC
) $(FPCOPT
)
802 # also call ppas if with command option -s
803 # but only if the OS_SOURCE and OS_TARGE are equal
804 ifeq (,$(findstring -s
,$(COMPILER
)))
807 ifeq ($(OS_SOURCE
),$(OS_TARGET
))
812 #####################################################################
814 #####################################################################
824 showinstall
: fpc_showinstall
828 sourceinstall
: fpc_sourceinstall
830 exampleinstall
: fpc_exampleinstall
832 zipinstall
: fpc_zipinstall
834 zipsourceinstall
: fpc_zipsourceinstall
836 zipexampleinstall
: fpc_zipexampleinstall
840 distclean: fpc_distclean
842 cleanall
: fpc_cleanall
846 .PHONY
: all debug smart shared showinstall
install sourceinstall exampleinstall zipinstall zipsourceinstall zipexampleinstall
clean distclean cleanall
info
848 #####################################################################
850 #####################################################################
855 override EXEFILES
=$(addsuffix $(EXEEXT
),$(EXEOBJECTS
))
856 override EXEOFILES
:=$(addsuffix $(OEXT
),$(EXEOBJECTS
)) $(addprefix $(LIBPREFIX
),$(addsuffix $(STATICLIBEXT
),$(EXEOBJECTS
)))
858 override ALLTARGET
+=fpc_exes
859 override INSTALLEXEFILES
+=$(EXEFILES
)
860 override CLEANEXEFILES
+=$(EXEFILES
) $(EXEOFILES
)
864 fpc_exes
: $(EXEFILES
)
866 #####################################################################
867 # General compile rules
868 #####################################################################
870 .PHONY
: fpc_packages fpc_all fpc_debug
872 $(FPCMADE
): $(ALLTARGET
)
873 @
$(ECHO
) Compiled
> $(FPCMADE
)
875 fpc_packages
: $(COMPILEPACKAGES
)
877 fpc_all
: fpc_packages
$(FPCMADE
)
882 # Search paths for .ppu if targetdir is set
884 vpath
%$(PPUEXT
) $(UNITTARGETDIR
)
887 # General compile rules, available for both possible PASEXT
889 .SUFFIXES
: $(EXEEXT
) $(PPUEXT
) $(OEXT
) .pas .pp
892 $(COMPILER
) $< $(REDIR
)
896 $(COMPILER
) $< $(REDIR
)
900 $(COMPILER
) $< $(REDIR
)
904 $(COMPILER
) $< $(REDIR
)
907 #####################################################################
909 #####################################################################
911 .PHONY
: fpc_smart fpc_shared
914 LIBFULLNAME
=$(LIBNAME
).
$(LIBVERSION
)
916 LIBFULLNAME
=$(LIBNAME
)
919 # Default sharedlib units are all unit objects
920 ifndef SHAREDLIBUNITOBJECTS
921 SHAREDLIBUNITOBJECTS
:=$(UNITOBJECTS
)
925 $(MAKE
) all LINKSMART
=1 CREATESMART
=1
930 @
$(ECHO
) "LIBNAME not set"
932 $(PPUMOVE
) $(SHAREDLIBUNITOBJECTS
) -o
$(LIBFULLNAME
)
935 @
$(ECHO
) "Shared Libraries not supported"
938 #####################################################################
940 #####################################################################
942 .PHONY
: fpc_showinstall fpc_install
944 ifdef EXTRAINSTALLUNITS
945 override INSTALLPPUFILES
+=$(addsuffix $(PPUEXT
),$(EXTRAINSTALLUNITS
))
948 ifdef INSTALLPPUFILES
949 override INSTALLPPUFILES
:=$(addprefix $(UNITTARGETDIRPREFIX
),$(INSTALLPPUFILES
))
951 INSTALLPPULINKFILES
:=$(shell $(PPUFILES
) -S
-O
$(INSTALLPPUFILES
))
953 INSTALLPPULINKFILES
:=$(wildcard $(subst $(PPUEXT
),$(OEXT
),$(INSTALLPPUFILES
)) $(addprefix $(LIBPREFIX
),$(subst $(PPUEXT
),$(STATICLIBEXT
),$(INSTALLPPUFILES
))))
955 override INSTALLPPULINKFILES
:=$(addprefix $(UNITTARGETDIRPREFIX
),$(INSTALLPPULINKFILES
))
958 ifdef INSTALLEXEFILES
959 override INSTALLEXEFILES
:=$(addprefix $(TARGETDIRPREFIX
),$(INSTALLEXEFILES
))
962 fpc_showinstall
: $(SHOWINSTALLTARGET
)
963 ifdef INSTALLEXEFILES
964 @
$(ECHO
) -e
$(addprefix "\n"$(BININSTALLDIR
)/,$(INSTALLEXEFILES
))
966 ifdef INSTALLPPUFILES
967 @
$(ECHO
) -e
$(addprefix "\n"$(UNITINSTALLDIR
)/,$(INSTALLPPUFILES
))
968 ifneq ($(INSTALLPPULINKFILES
),)
969 @
$(ECHO
) -e
$(addprefix "\n"$(UNITINSTALLDIR
)/,$(INSTALLPPULINKFILES
))
971 ifneq ($(wildcard $(LIBFULLNAME
)),)
972 @
$(ECHO
) $(LIBINSTALLDIR
)/$(LIBFULLNAME
)
974 @
$(ECHO
) $(LIBINSTALLDIR
)/$(LIBNAME
)
978 ifdef EXTRAINSTALLFILES
979 @
$(ECHO
) -e
$(addprefix "\n"$(DATAINSTALLDIR
)/,$(EXTRAINSTALLFILES
))
982 fpc_install
: $(INSTALLTARGET
)
983 # Create UnitInstallFiles
984 ifdef INSTALLEXEFILES
985 $(MKDIR
) $(BININSTALLDIR
)
986 # Compress the exes if upx is defined
988 -$(UPXPROG
) $(INSTALLEXEFILES
)
990 $(INSTALLEXE
) $(INSTALLEXEFILES
) $(BININSTALLDIR
)
992 ifdef INSTALLPPUFILES
993 $(MKDIR
) $(UNITINSTALLDIR
)
994 $(INSTALL
) $(INSTALLPPUFILES
) $(UNITINSTALLDIR
)
995 ifneq ($(INSTALLPPULINKFILES
),)
996 $(INSTALL
) $(INSTALLPPULINKFILES
) $(UNITINSTALLDIR
)
998 ifneq ($(wildcard $(LIBFULLNAME
)),)
999 $(MKDIR
) $(LIBINSTALLDIR
)
1000 $(INSTALL
) $(LIBFULLNAME
) $(LIBINSTALLDIR
)
1002 ln
-sf
$(LIBFULLNAME
) $(LIBINSTALLDIR
)/$(LIBNAME
)
1006 ifdef EXTRAINSTALLFILES
1007 $(MKDIR
) $(DATAINSTALLDIR
)
1008 $(INSTALL
) $(EXTRAINSTALLFILES
) $(DATAINSTALLDIR
)
1011 #####################################################################
1012 # SourceInstall rules
1013 #####################################################################
1015 .PHONY
: fpc_sourceinstall
1018 SOURCETOPDIR
=$(BASEDIR
)
1021 fpc_sourceinstall
: clean
1022 $(MKDIR
) $(SOURCEINSTALLDIR
)
1023 $(COPYTREE
) $(SOURCETOPDIR
) $(SOURCEINSTALLDIR
)
1025 #####################################################################
1026 # exampleinstall rules
1027 #####################################################################
1029 .PHONY
: fpc_exampleinstall
1031 fpc_exampleinstall
: $(addsuffix _clean
,$(EXAMPLEDIROBJECTS
))
1032 ifdef EXAMPLESOURCEFILES
1033 $(MKDIR
) $(EXAMPLEINSTALLDIR
)
1034 $(COPY
) $(EXAMPLESOURCEFILES
) $(EXAMPLEINSTALLDIR
)
1036 ifdef EXAMPLEDIROBJECTS
1037 ifndef EXAMPLESOURCEFILES
1038 $(MKDIR
) $(EXAMPLEINSTALLDIR
)
1040 $(COPYTREE
) $(addsuffix /*,$(EXAMPLEDIROBJECTS
)) $(EXAMPLEINSTALLDIR
)
1043 #####################################################################
1045 #####################################################################
1047 .PHONY
: fpc_zipinstall
1049 # Create suffix to add
1050 ifndef PACKAGESUFFIX
1051 PACKAGESUFFIX
=$(OS_TARGET
)
1052 ifeq ($(OS_TARGET
),go32v2
)
1055 ifeq ($(OS_TARGET
),win32
)
1058 ifeq ($(OS_TARGET
),os2
)
1063 # Temporary path to pack a file
1066 PACKDIR
=$(BASEDIR
)/pack_tmp
1068 PACKDIR
=/tmp
/fpc-pack
1072 # Maybe create default zipname from packagename
1075 ZIPNAME
=$(PACKAGEPREFIX
)$(PACKAGENAME
)$(PACKAGESUFFIX
)
1079 # Use tar by default under linux
1088 @
$(ECHO
) "Please specify ZIPNAME!"
1091 $(MAKE
) $(ZIPTARGET
) PREFIXINSTALLDIR
=$(PACKDIR
)
1093 $(DEL
) $(DESTZIPDIR
)/$(ZIPNAME
)$(TAREXT
)
1094 cd
$(PACKDIR
) ; $(TARPROG
) cf
$(TAROPT
) $(DESTZIPDIR
)/$(ZIPNAME
)$(TAREXT
) * ; cd
$(BASEDIR
)
1096 $(DEL
) $(DESTZIPDIR
)/$(ZIPNAME
)$(ZIPEXT
)
1097 cd
$(PACKDIR
) ; $(ZIPPROG
) -Dr
$(ZIPOPT
) $(DESTZIPDIR
)/$(ZIPNAME
)$(ZIPEXT
) * ; cd
$(BASEDIR
)
1099 $(DELTREE
) $(PACKDIR
)
1102 .PHONY
: fpc_zipsourceinstall
1104 fpc_zipsourceinstall
:
1105 $(MAKE
) fpc_zipinstall ZIPTARGET
=sourceinstall PACKAGESUFFIX
=src
1107 .PHONY
: fpc_zipexampleinstall
1109 fpc_zipexampleinstall
:
1110 $(MAKE
) fpc_zipinstall ZIPTARGET
=exampleinstall PACKAGESUFFIX
=exm
1112 #####################################################################
1114 #####################################################################
1116 .PHONY
: fpc_clean fpc_cleanall fpc_distclean
1119 override CLEANEXEFILES
:=$(addprefix $(TARGETDIRPREFIX
),$(CLEANEXEFILES
))
1122 ifdef EXTRACLEANUNITS
1123 override CLEANPPUFILES
+=$(addsuffix $(PPUEXT
),$(EXTRACLEANUNITS
))
1127 override CLEANPPUFILES
:=$(addprefix $(UNITTARGETDIRPREFIX
),$(CLEANPPUFILES
))
1128 # Get the .o and .a files created for the units
1130 CLEANPPULINKFILES
:=$(shell $(PPUFILES
) $(CLEANPPUFILES
))
1132 CLEANPPULINKFILES
:=$(wildcard $(subst $(PPUEXT
),$(OEXT
),$(CLEANPPUFILES
)) $(addprefix $(LIBPREFIX
),$(subst $(PPUEXT
),$(STATICLIBEXT
),$(CLEANPPUFILES
))))
1134 override CLEANPPULINKFILES
:=$(addprefix $(UNITTARGETDIRPREFIX
),$(CLEANPPULINKFILES
))
1137 fpc_clean
: $(CLEANTARGET
)
1139 -$(DEL
) $(CLEANEXEFILES
)
1142 -$(DEL
) $(CLEANPPUFILES
)
1144 ifneq ($(CLEANPPULINKFILES
),)
1145 -$(DEL
) $(CLEANPPULINKFILES
)
1148 -$(DEL
) $(addprefix $(UNITTARGETDIRPREFIX
),$(CLEANRSTFILES
))
1150 ifdef EXTRACLEANFILES
1151 -$(DEL
) $(EXTRACLEANFILES
)
1154 -$(DEL
) $(LIBNAME
) $(LIBFULLNAME
)
1156 -$(DEL
) $(FPCMADE
) $(PPAS
) link.res
$(FPCEXTFILE
) $(REDIRFILE
)
1158 fpc_distclean
: fpc_clean
1160 # Also run clean first if targetdir is set. Unittargetdir is always
1161 # set if targetdir or unittargetdir is specified
1163 TARGETDIRCLEAN
=fpc_clean
1166 fpc_cleanall
: $(CLEANTARGET
) $(TARGETDIRCLEAN
)
1168 -$(DEL
) $(CLEANEXEFILES
)
1170 -$(DEL
) *$(OEXT
) *$(PPUEXT
) *$(RSTEXT
) *$(ASMEXT
) *$(STATICLIBEXT
) *$(SHAREDLIBEXT
) *$(PPLEXT
)
1171 -$(DELTREE
) *$(SMARTEXT
)
1172 -$(DEL
) $(FPCMADE
) $(PPAS
) link.res
$(FPCEXTFILE
) $(REDIRFILE
)
1174 #####################################################################
1176 #####################################################################
1178 .PHONY
: fpc_info fpc_cfginfo fpc_objectinfo fpc_toolsinfo fpc_installinfo \
1181 fpc_info
: $(INFOTARGET
)
1185 @
$(ECHO
) == Configuration
info ==
1187 @
$(ECHO
) FPC.......
$(FPC
)
1188 @
$(ECHO
) Version...
$(FPC_VERSION
)
1189 @
$(ECHO
) CPU.......
$(CPU_TARGET
)
1190 @
$(ECHO
) Source....
$(OS_SOURCE
)
1191 @
$(ECHO
) Target....
$(OS_TARGET
)
1196 @
$(ECHO
) == Object
info ==
1198 @
$(ECHO
) LoaderObjects.....
$(LOADEROBJECTS
)
1199 @
$(ECHO
) UnitObjects.......
$(UNITOBJECTS
)
1200 @
$(ECHO
) ExeObjects........
$(EXEOBJECTS
)
1202 @
$(ECHO
) ExtraCleanUnits...
$(EXTRACLEANUNITS
)
1203 @
$(ECHO
) ExtraCleanFiles...
$(EXTRACLEANFILES
)
1205 @
$(ECHO
) ExtraInstallUnits.
$(EXTRAINSTALLUNITS
)
1206 @
$(ECHO
) ExtraInstallFiles.
$(EXTRAINSTALLFILES
)
1211 @
$(ECHO
) == Install
info ==
1214 @
$(ECHO
) DateStr..............
$(DATESTR
)
1217 @
$(ECHO
) PackagePrefix........
$(PACKAGEPREFIX
)
1220 @
$(ECHO
) PackageName..........
$(PACKAGENAME
)
1222 @
$(ECHO
) PackageSuffix........
$(PACKAGESUFFIX
)
1224 @
$(ECHO
) BaseInstallDir.......
$(BASEINSTALLDIR
)
1225 @
$(ECHO
) BinInstallDir........
$(BININSTALLDIR
)
1226 @
$(ECHO
) LibInstallDir........
$(LIBINSTALLDIR
)
1227 @
$(ECHO
) UnitInstallDir.......
$(UNITINSTALLDIR
)
1228 @
$(ECHO
) SourceInstallDir.....
$(SOURCEINSTALLDIR
)
1229 @
$(ECHO
) DocInstallDir........
$(DOCINSTALLDIR
)
1230 @
$(ECHO
) DataInstallDir.......
$(DATAINSTALLDIR
)
1232 @
$(ECHO
) DestZipDir...........
$(DESTZIPDIR
)
1233 @
$(ECHO
) ZipName..............
$(ZIPNAME
)
1236 #####################################################################
1238 #####################################################################
1240 ifneq ($(wildcard fpcmake.loc
),)