Parcourir la source

* firstword added
* pathexist fix to include sysfile

peter il y a 24 ans
Parent
commit
d9f43c2ea0
4 fichiers modifiés avec 103 ajouts et 79 suppressions
  1. 68 66
      utils/fpcm/fpcmake.inc
  2. 2 1
      utils/fpcm/fpcmake.ini
  3. 26 10
      utils/fpcm/fpcmmain.pp
  4. 7 2
      utils/fpcm/fpcmwr.pp

+ 68 - 66
utils/fpcm/fpcmake.inc

@@ -1,7 +1,7 @@
 {$ifdef Delphi}
 {$ifdef Delphi}
-const fpcmakeini : array[0..126] of string[240]=(
+const fpcmakeini : array[0..127] of string[240]=(
 {$else Delphi}
 {$else Delphi}
-const fpcmakeini : array[0..126,1..240] of char=(
+const fpcmakeini : array[0..127,1..240] of char=(
 {$endif Delphi}
 {$endif Delphi}
   ';'#010+
   ';'#010+
   '; Templates used by fpcmake to create a Makefile from Makefile.fpc'#010+
   '; Templates used by fpcmake to create a Makefile from Makefile.fpc'#010+
@@ -1014,9 +1014,9 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'ILES))'#010+
   'ILES))'#010+
   'endif'#010+
   'endif'#010+
   #010+
   #010+
-  'fpc_install: $(INSTALLTARGET)'#010+
+  'fpc_install: all $(INSTALLTARGET)'#010+
   'ifdef INSTALLEXEFILES'#010+
   'ifdef INSTALLEXEFILES'#010+
-  '        $(MKDI','R) $(INSTALL_BINDIR)'#010+
+  '        $(','MKDIR) $(INSTALL_BINDIR)'#010+
   '# Compress the exes if upx is defined'#010+
   '# Compress the exes if upx is defined'#010+
   'ifdef UPXPROG'#010+
   'ifdef UPXPROG'#010+
   '        -$(UPXPROG) $(INSTALLEXEFILES)'#010+
   '        -$(UPXPROG) $(INSTALLEXEFILES)'#010+
@@ -1025,13 +1025,13 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'endif'#010+
   'endif'#010+
   'ifdef INSTALL_CREATEPACKAGEFPC'#010+
   'ifdef INSTALL_CREATEPACKAGEFPC'#010+
   'ifdef FPCMAKE'#010+
   'ifdef FPCMAKE'#010+
-  '# If the fpc','package variable is set then create and install Package.'+
+  '# If the',' fpcpackage variable is set then create and install Package.'+
   'fpc,'#010+
   'fpc,'#010+
   '# a safety check is done if Makefile.fpc is available'#010+
   '# a safety check is done if Makefile.fpc is available'#010+
   'ifdef PACKAGE_VERSION'#010+
   'ifdef PACKAGE_VERSION'#010+
   'ifneq ($(wildcard Makefile.fpc),)'#010+
   'ifneq ($(wildcard Makefile.fpc),)'#010+
   '        $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc'#010+
   '        $(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc'#010+
-  '        $(MKDIR) $(','INSTALL_UNITDIR)'#010+
+  '        $(MKDIR',') $(INSTALL_UNITDIR)'#010+
   '        $(INSTALL) Package.fpc $(INSTALL_UNITDIR)'#010+
   '        $(INSTALL) Package.fpc $(INSTALL_UNITDIR)'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
@@ -1040,14 +1040,14 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'ifdef INSTALLPPUFILES'#010+
   'ifdef INSTALLPPUFILES'#010+
   '        $(MKDIR) $(INSTALL_UNITDIR)'#010+
   '        $(MKDIR) $(INSTALL_UNITDIR)'#010+
   '        $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)'#010+
   '        $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)'#010+
-  'ifneq ($(INSTALLPPULINKFILES),)'#010+
-  '  ','      $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)'#010+
+  'ifneq ($(INSTALLPPULINKFILES),',')'#010+
+  '        $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)'#010+
   'endif'#010+
   'endif'#010+
   'ifneq ($(wildcard $(LIB_FULLNAME)),)'#010+
   'ifneq ($(wildcard $(LIB_FULLNAME)),)'#010+
   '        $(MKDIR) $(INSTALL_LIBDIR)'#010+
   '        $(MKDIR) $(INSTALL_LIBDIR)'#010+
   '        $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)'#010+
   '        $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)'#010+
   'ifdef inUnix'#010+
   'ifdef inUnix'#010+
-  '        ln -sf $(LIB_FULLNAME) $(INST','ALL_LIBDIR)/$(LIB_NAME)'#010+
+  '        ln -sf $(LIB_FULLNAME) $(','INSTALL_LIBDIR)/$(LIB_NAME)'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
@@ -1058,14 +1058,14 @@ const fpcmakeini : array[0..126,1..240] of char=(
   #010+
   #010+
   'fpc_sourceinstall: distclean'#010+
   'fpc_sourceinstall: distclean'#010+
   '        $(MKDIR) $(INSTALL_SOURCEDIR)'#010+
   '        $(MKDIR) $(INSTALL_SOURCEDIR)'#010+
-  '        $(COP','YTREE) $(BASEDIR) $(INSTALL_SOURCEDIR)'#010+
+  '        $','(COPYTREE) $(BASEDIR) $(INSTALL_SOURCEDIR)'#010+
   #010+
   #010+
   'fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))'#010+
   'fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))'#010+
   'ifdef HASEXAMPLES'#010+
   'ifdef HASEXAMPLES'#010+
   '        $(MKDIR) $(INSTALL_EXAMPLEDIR)'#010+
   '        $(MKDIR) $(INSTALL_EXAMPLEDIR)'#010+
   'endif'#010+
   'endif'#010+
   'ifdef EXAMPLESOURCEFILES'#010+
   'ifdef EXAMPLESOURCEFILES'#010+
-  '        $(COPY) $(EXAMPLESOURCEFILES) $(INSTAL','L_EXAMPLEDIR)'#010+
+  '        $(COPY) $(EXAMPLESOURCEFILES) $(IN','STALL_EXAMPLEDIR)'#010+
   'endif'#010+
   'endif'#010+
   'ifdef TARGET_EXAMPLEDIRS'#010+
   'ifdef TARGET_EXAMPLEDIRS'#010+
   '        $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EX'+
   '        $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EX'+
@@ -1074,9 +1074,8 @@ const fpcmakeini : array[0..126,1..240] of char=(
   #010+
   #010+
   '[distinstallrules]'#010+
   '[distinstallrules]'#010+
   '#####################################################################'#010+
   '#####################################################################'#010+
-  '# Dist Install'#010+
-  '####','################################################################'+
-  '#'#010+
+  '# Dist Install'#010,
+  '#####################################################################'#010+
   #010+
   #010+
   '.PHONY: fpc_distinstall'#010+
   '.PHONY: fpc_distinstall'#010+
   #010+
   #010+
@@ -1086,13 +1085,13 @@ const fpcmakeini : array[0..126,1..240] of char=(
   '[zipinstallrules]'#010+
   '[zipinstallrules]'#010+
   '#####################################################################'#010+
   '#####################################################################'#010+
   '# Zip'#010+
   '# Zip'#010+
-  '############','########################################################'+
+  '########','############################################################'+
   '#'#010+
   '#'#010+
   #010+
   #010+
   '.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall'#010+
   '.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall'#010+
   #010+
   #010+
   '# Temporary path to pack a file, can only use a single deep'#010+
   '# Temporary path to pack a file, can only use a single deep'#010+
-  '# subdir, because the deltree can'#039't see the whole tree',' to remove'+
+  '# subdir, because the deltree can'#039't see the whole ','tree to remove'+
   #010+
   #010+
   'ifndef PACKDIR'#010+
   'ifndef PACKDIR'#010+
   'ifndef inUnix'#010+
   'ifndef inUnix'#010+
@@ -1107,7 +1106,7 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'ifdef DIST_ZIPNAME'#010+
   'ifdef DIST_ZIPNAME'#010+
   'ZIPNAME=$(DIST_ZIPNAME)'#010+
   'ZIPNAME=$(DIST_ZIPNAME)'#010+
   'else'#010+
   'else'#010+
-  'ZIPNAME=$(ZIPPREFI','X)$(PACKAGE_NAME)$(ZIPSUFFIX)'#010+
+  'ZIPNAME=$(ZIPP','REFIX)$(PACKAGE_NAME)$(ZIPSUFFIX)'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
   #010+
   #010+
@@ -1126,8 +1125,8 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'USETAR=1'#010+
   'USETAR=1'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
   'endif'#010+
-  #010+
-  '# Us','e a wrapper script by default for Os/2'#010+
+  #010,
+  '# Use a wrapper script by default for Os/2'#010+
   'ifndef inUnix'#010+
   'ifndef inUnix'#010+
   'USEZIPWRAPPER=1'#010+
   'USEZIPWRAPPER=1'#010+
   'endif'#010+
   'endif'#010+
@@ -1136,7 +1135,7 @@ const fpcmakeini : array[0..126,1..240] of char=(
   '# the path separator'#010+
   '# the path separator'#010+
   'ifdef USEZIPWRAPPER'#010+
   'ifdef USEZIPWRAPPER'#010+
   'ZIPPATHSEP=$(PATHSEP)'#010+
   'ZIPPATHSEP=$(PATHSEP)'#010+
-  'ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/','fpczip$(BATCHEXT))'#010+
+  'ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTD','IR)/fpczip$(BATCHEXT))'#010+
   'else'#010+
   'else'#010+
   'ZIPPATHSEP=/'#010+
   'ZIPPATHSEP=/'#010+
   'endif'#010+
   'endif'#010+
@@ -1145,7 +1144,7 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))'#010+
   'ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))'#010+
   'ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))'#010+
   'ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))'#010+
   'ifdef USETAR'#010+
   'ifdef USETAR'#010+
-  'ZIPDESTFILE:=$(DIST_DESTDIR)/$','(ZIPNAME)$(TAREXT)'#010+
+  'ZIPDESTFILE:=$(DIST_DESTDI','R)/$(ZIPNAME)$(TAREXT)'#010+
   'ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *'#010+
   'ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *'#010+
   'else'#010+
   'else'#010+
   'ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT)'#010+
   'ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT)'#010+
@@ -1154,20 +1153,21 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'endif'#010+
   'endif'#010+
   #010+
   #010+
   'fpc_zipinstall:'#010+
   'fpc_zipinstall:'#010+
-  '        $(MAK','E) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1'#010+
+  '        $','(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1'#010+
+  '        $(MKDIR) $(DIST_DESTDIR)'#010+
   '        $(DEL) $(ZIPDESTFILE)'#010+
   '        $(DEL) $(ZIPDESTFILE)'#010+
   'ifdef USEZIPWRAPPER'#010+
   'ifdef USEZIPWRAPPER'#010+
   '# Handle gecho separate as we need to espace \ with \\'#010+
   '# Handle gecho separate as we need to espace \ with \\'#010+
   'ifneq ($(ECHOREDIR),echo)'#010+
   'ifneq ($(ECHOREDIR),echo)'#010+
-  '        $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK)',')" > $(ZIPWRAP'+
+  '        $(ECHORED','IR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAP'+
   'PER)'#010+
   'PER)'#010+
   '        $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)'+
   '        $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)'+
   #010+
   #010+
   '        $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPP'+
   '        $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPP'+
   'ER)'#010+
   'ER)'#010+
   'else'#010+
   'else'#010+
-  '        echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)'#010+
-  '        echo $(ZIPCMD_ZIP',') >> $(ZIPWRAPPER)'#010+
+  '        echo $(ZIPCMD_CDPACK) > $(','ZIPWRAPPER)'#010+
+  '        echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)'#010+
   '        echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)'#010+
   '        echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)'#010+
   'endif'#010+
   'endif'#010+
   'ifdef inUnix'#010+
   'ifdef inUnix'#010+
@@ -1177,7 +1177,7 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'endif'#010+
   'endif'#010+
   '        $(DEL) $(ZIPWRAPPER)'#010+
   '        $(DEL) $(ZIPWRAPPER)'#010+
   'else'#010+
   'else'#010+
-  '        $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE',')'#010+
+  '        $(ZIPCMD_CDPA','CK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)'#010+
   'endif'#010+
   'endif'#010+
   '        $(DELTREE) $(PACKDIR)'#010+
   '        $(DELTREE) $(PACKDIR)'#010+
   #010+
   #010+
@@ -1186,8 +1186,8 @@ const fpcmakeini : array[0..126,1..240] of char=(
   #010+
   #010+
   'fpc_zipexampleinstall:'#010+
   'fpc_zipexampleinstall:'#010+
   'ifdef HASEXAMPLES'#010+
   'ifdef HASEXAMPLES'#010+
-  '        $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=ex','m'+
-  #010+
+  '        $(MAKE) fpc_zipinstall ','ZIPTARGET=exampleinstall ZIPSUFFIX=ex'+
+  'm'#010+
   'endif'#010+
   'endif'#010+
   #010+
   #010+
   'fpc_zipdistinstall:'#010+
   'fpc_zipdistinstall:'#010+
@@ -1197,7 +1197,7 @@ const fpcmakeini : array[0..126,1..240] of char=(
   '[cleanrules]'#010+
   '[cleanrules]'#010+
   '#####################################################################'#010+
   '#####################################################################'#010+
   '# Clean rules'#010+
   '# Clean rules'#010+
-  '###########################################################','#########'+
+  '######################','##############################################'+
   '#'#010+
   '#'#010+
   #010+
   #010+
   '.PHONY: fpc_clean fpc_cleanall fpc_distclean'#010+
   '.PHONY: fpc_clean fpc_cleanall fpc_distclean'#010+
@@ -1208,14 +1208,14 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'endif'#010+
   'endif'#010+
   #010+
   #010+
   'ifdef CLEAN_UNITS'#010+
   'ifdef CLEAN_UNITS'#010+
-  'override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))'#010+
+  'override CLEANPPUFILES+=$(addsuf','fix $(PPUEXT),$(CLEAN_UNITS))'#010+
   'endif'#010+
   'endif'#010+
-  #010,
+  #010+
   'ifdef CLEANPPUFILES'#010+
   'ifdef CLEANPPUFILES'#010+
   'override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)'+
   'override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)'+
   ') $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(C'+
   ') $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(C'+
   'LEANPPUFILES)))'#010+
   'LEANPPUFILES)))'#010+
-  'override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLE','ANPP'+
+  'override CLEANPPUFILES:=$(a','ddprefix $(UNITTARGETDIRPREFIX),$(CLEANPP'+
   'UFILES))'#010+
   'UFILES))'#010+
   'override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREF'+
   'override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREF'+
   'IX),$(CLEANPPULINKFILES)))'#010+
   'IX),$(CLEANPPULINKFILES)))'#010+
@@ -1225,8 +1225,8 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'ifdef CLEANEXEFILES'#010+
   'ifdef CLEANEXEFILES'#010+
   '        -$(DEL) $(CLEANEXEFILES)'#010+
   '        -$(DEL) $(CLEANEXEFILES)'#010+
   'endif'#010+
   'endif'#010+
-  'ifdef CLEANPPUFILES'#010+
-  '        -$(DEL) $(','CLEANPPUFILES)'#010+
+  'i','fdef CLEANPPUFILES'#010+
+  '        -$(DEL) $(CLEANPPUFILES)'#010+
   'endif'#010+
   'endif'#010+
   'ifneq ($(CLEANPPULINKFILES),)'#010+
   'ifneq ($(CLEANPPULINKFILES),)'#010+
   '        -$(DEL) $(CLEANPPULINKFILES)'#010+
   '        -$(DEL) $(CLEANPPULINKFILES)'#010+
@@ -1234,9 +1234,9 @@ const fpcmakeini : array[0..126,1..240] of char=(
   'ifdef CLEANRSTFILES'#010+
   'ifdef CLEANRSTFILES'#010+
   '        -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))'#010+
   '        -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))'#010+
   'endif'#010+
   'endif'#010+
-  'ifdef CLEAN_FILES'#010+
+  'ifdef CLEAN_FI','LES'#010+
   '        -$(DEL) $(CLEAN_FILES)'#010+
   '        -$(DEL) $(CLEAN_FILES)'#010+
-  'en','dif'#010+
+  'endif'#010+
   'ifdef LIB_NAME'#010+
   'ifdef LIB_NAME'#010+
   '        -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)'#010+
   '        -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)'#010+
   'endif'#010+
   'endif'#010+
@@ -1245,7 +1245,7 @@ const fpcmakeini : array[0..126,1..240] of char=(
   #010+
   #010+
   'fpc_distclean: clean'#010+
   'fpc_distclean: clean'#010+
   #010+
   #010+
-  '# Also run clean first if targetdir is set. Unittargetdir is alwa','ys'#010+
+  '# Also run clean first if ta','rgetdir is set. Unittargetdir is always'#010+
   '# set if targetdir or unittargetdir is specified'#010+
   '# set if targetdir or unittargetdir is specified'#010+
   'ifdef COMPILER_UNITTARGETDIR'#010+
   'ifdef COMPILER_UNITTARGETDIR'#010+
   'TARGETDIRCLEAN=fpc_clean'#010+
   'TARGETDIRCLEAN=fpc_clean'#010+
@@ -1253,19 +1253,19 @@ const fpcmakeini : array[0..126,1..240] of char=(
   #010+
   #010+
   'fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)'#010+
   'fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)'#010+
   'ifdef CLEANEXEFILES'#010+
   'ifdef CLEANEXEFILES'#010+
-  '        -$(DEL) $(CLEANEXEFILES)'#010+
+  '        -$(DEL) $(CLEAN','EXEFILES)'#010+
   'endif'#010+
   'endif'#010+
-  '        -$(DEL) *$(OE','XT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICL'+
-  'IBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)'#010+
+  '        -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIB'+
+  'EXT) *$(SHAREDLIBEXT) *$(PPLEXT)'#010+
   '        -$(DELTREE) *$(SMARTEXT)'#010+
   '        -$(DELTREE) *$(SMARTEXT)'#010+
   '        -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)'+
   '        -$(DEL) $(FPCMADE) $(PPAS) link.res $(FPCEXTFILE) $(REDIRFILE)'+
   #010+
   #010+
   'ifdef AOUTEXT'#010+
   'ifdef AOUTEXT'#010+
-  '        -$(DEL) *$(AOUTEXT)'#010+
+  '   ','     -$(DEL) *$(AOUTEXT)'#010+
   'endif'#010+
   'endif'#010+
   #010+
   #010+
   #010+
   #010+
-  '[inf','orules]'#010+
+  '[inforules]'#010+
   '#####################################################################'#010+
   '#####################################################################'#010+
   '# Info rules'#010+
   '# Info rules'#010+
   '#####################################################################'#010+
   '#####################################################################'#010+
@@ -1273,90 +1273,92 @@ const fpcmakeini : array[0..126,1..240] of char=(
   '.PHONY: fpc_info'#010+
   '.PHONY: fpc_info'#010+
   #010+
   #010+
   'fpc_info:'#010+
   'fpc_info:'#010+
-  '        @$(ECHO)'#010+
-  '        @$(ECHO)  == Package info',' =='#010+
+  '        @$(EC','HO)'#010+
+  '        @$(ECHO)  == Package info =='#010+
   '        @$(ECHO)  Package Name..... $(PACKAGE_NAME)'#010+
   '        @$(ECHO)  Package Name..... $(PACKAGE_NAME)'#010+
   '        @$(ECHO)  Package Version.. $(PACKAGE_VERSION)'#010+
   '        @$(ECHO)  Package Version.. $(PACKAGE_VERSION)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)  == Configuration info =='#010+
   '        @$(ECHO)  == Configuration info =='#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
-  '        @$(ECHO)  FPC.......... $(FPC)'#010+
-  '        @$(EC','HO)  FPC Version.. $(FPC_VERSION)'#010+
+  '        @$(ECHO',')  FPC.......... $(FPC)'#010+
+  '        @$(ECHO)  FPC Version.. $(FPC_VERSION)'#010+
   '        @$(ECHO)  Source CPU... $(CPU_SOURCE)'#010+
   '        @$(ECHO)  Source CPU... $(CPU_SOURCE)'#010+
   '        @$(ECHO)  Target CPU... $(CPU_TARGET)'#010+
   '        @$(ECHO)  Target CPU... $(CPU_TARGET)'#010+
   '        @$(ECHO)  Source OS.... $(OS_SOURCE)'#010+
   '        @$(ECHO)  Source OS.... $(OS_SOURCE)'#010+
-  '        @$(ECHO)  Target OS.... $(OS_TARGET)'#010+
+  '        @$(ECHO)  Target OS.... ','$(OS_TARGET)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
-  '       ',' @$(ECHO)  == Directory info =='#010+
+  '        @$(ECHO)  == Directory info =='#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)  Basedir......... $(BASEDIR)'#010+
   '        @$(ECHO)  Basedir......... $(BASEDIR)'#010+
   '        @$(ECHO)  FPCDir.......... $(FPCDIR)'#010+
   '        @$(ECHO)  FPCDir.......... $(FPCDIR)'#010+
   '        @$(ECHO)  UnitsDir........ $(UNITSDIR)'#010+
   '        @$(ECHO)  UnitsDir........ $(UNITSDIR)'#010+
-  '        @$(ECHO)  PackagesDir..... $(PACKAGESDIR)'#010+
-  '   ','     @$(ECHO)'#010+
+  '        @$(ECHO)','  PackagesDir..... $(PACKAGESDIR)'#010+
+  '        @$(ECHO)'#010+
   '        @$(ECHO)  GCC library..... $(GCCLIBDIR)'#010+
   '        @$(ECHO)  GCC library..... $(GCCLIBDIR)'#010+
   '        @$(ECHO)  Other library... $(OTHERLIBDIR)'#010+
   '        @$(ECHO)  Other library... $(OTHERLIBDIR)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)  == Tools info =='#010+
   '        @$(ECHO)  == Tools info =='#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
-  '        @$(ECHO)  Pwd....... $(PWD)'#010+
-  '        @$(ECHO)  Mv...','..... $(MVPROG)'#010+
+  '        @$(ECHO)  Pwd.','...... $(PWD)'#010+
+  '        @$(ECHO)  Mv........ $(MVPROG)'#010+
   '        @$(ECHO)  Cp........ $(CPPROG)'#010+
   '        @$(ECHO)  Cp........ $(CPPROG)'#010+
   '        @$(ECHO)  Rm........ $(RMPROG)'#010+
   '        @$(ECHO)  Rm........ $(RMPROG)'#010+
   '        @$(ECHO)  GInstall.. $(GINSTALL)'#010+
   '        @$(ECHO)  GInstall.. $(GINSTALL)'#010+
   '        @$(ECHO)  Echo...... $(ECHO)'#010+
   '        @$(ECHO)  Echo...... $(ECHO)'#010+
-  '        @$(ECHO)  Date...... $(DATE)'#010+
-  '        @$(ECHO)  FPCMake... $(','FPCMAKE)'#010+
+  '        @$(ECHO)  Date...... $(','DATE)'#010+
+  '        @$(ECHO)  FPCMake... $(FPCMAKE)'#010+
   '        @$(ECHO)  PPUMove... $(PPUMOVE)'#010+
   '        @$(ECHO)  PPUMove... $(PPUMOVE)'#010+
   '        @$(ECHO)  Upx....... $(UPXPROG)'#010+
   '        @$(ECHO)  Upx....... $(UPXPROG)'#010+
   '        @$(ECHO)  Zip....... $(ZIPPROG)'#010+
   '        @$(ECHO)  Zip....... $(ZIPPROG)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)  == Object info =='#010+
   '        @$(ECHO)  == Object info =='#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
-  '        @$(ECHO)  Target Loaders...... $(','TARGET_LOADERS)'#010+
+  '    ','    @$(ECHO)  Target Loaders...... $(TARGET_LOADERS)'#010+
   '        @$(ECHO)  Target Units........ $(TARGET_UNITS)'#010+
   '        @$(ECHO)  Target Units........ $(TARGET_UNITS)'#010+
   '        @$(ECHO)  Target Programs..... $(TARGET_PROGRAMS)'#010+
   '        @$(ECHO)  Target Programs..... $(TARGET_PROGRAMS)'#010+
   '        @$(ECHO)  Target Dirs......... $(TARGET_DIRS)'#010+
   '        @$(ECHO)  Target Dirs......... $(TARGET_DIRS)'#010+
-  '        @$(ECHO)  Target Examples..... $(TARGET_EXAMPLES)',#010+
+  '        @$(ECHO)  Ta','rget Examples..... $(TARGET_EXAMPLES)'#010+
   '        @$(ECHO)  Target ExampleDirs.. $(TARGET_EXAMPLEDIRS)'#010+
   '        @$(ECHO)  Target ExampleDirs.. $(TARGET_EXAMPLEDIRS)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)  Clean Units......... $(CLEAN_UNITS)'#010+
   '        @$(ECHO)  Clean Units......... $(CLEAN_UNITS)'#010+
   '        @$(ECHO)  Clean Files......... $(CLEAN_FILES)'#010+
   '        @$(ECHO)  Clean Files......... $(CLEAN_FILES)'#010+
-  '        @$(ECHO)'#010+
-  '        @$(ECHO)  Install Units.....','.. $(INSTALL_UNITS)'#010+
+  '        @$(ECHO)',#010+
+  '        @$(ECHO)  Install Units....... $(INSTALL_UNITS)'#010+
   '        @$(ECHO)  Install Files....... $(INSTALL_FILES)'#010+
   '        @$(ECHO)  Install Files....... $(INSTALL_FILES)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)  == Install info =='#010+
   '        @$(ECHO)  == Install info =='#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)  DateStr.............. $(DATESTR)'#010+
   '        @$(ECHO)  DateStr.............. $(DATESTR)'#010+
-  '        @$(ECHO)  ZipPrefix............ $(','ZIPPREFIX)'#010+
+  '     ','   @$(ECHO)  ZipPrefix............ $(ZIPPREFIX)'#010+
   '        @$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)'#010+
   '        @$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)'#010+
   '        @$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)'#010+
   '        @$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)'#010+
   '        @$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)'#010+
-  '        @$(ECHO)  Install binary dir..','. $(INSTALL_BINDIR)'#010+
+  ' ','       @$(ECHO)  Install binary dir... $(INSTALL_BINDIR)'#010+
   '        @$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)'#010+
   '        @$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)'#010+
   '        @$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)'#010+
   '        @$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)'#010+
   '        @$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)'#010+
   '        @$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)'#010+
-  '        @$(ECHO)  Install doc dir...... $(','INSTALL_DOCDIR)'#010+
+  '     ','   @$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)'#010+
   '        @$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)'#010+
   '        @$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)'#010+
   '        @$(ECHO)  Install data dir..... $(INSTALL_DATADIR)'#010+
   '        @$(ECHO)  Install data dir..... $(INSTALL_DATADIR)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
-  '        @$(ECHO)  Dist destination dir. $(DIST_DESTDIR)'#010+
-  '        @$(ECHO)  Dist zip nam','e........ $(DIST_ZIPNAME)'#010+
+  '        @$(ECHO)  Dist destination dir. $(DIST_DE','STDIR)'#010+
+  '        @$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)'#010+
   '        @$(ECHO)'#010+
   '        @$(ECHO)'#010+
   #010+
   #010+
   '[localmakefile]'#010+
   '[localmakefile]'#010+
   '#####################################################################'#010+
   '#####################################################################'#010+
   '# Local Makefile'#010+
   '# Local Makefile'#010+
-  '#####################################################################'#010+
+  '########################################################','############'+
+  '#'#010+
   #010+
   #010+
-  'ifneq ($(wildcard fpcm','ake.loc),)'#010+
+  'ifneq ($(wildcard fpcmake.loc),)'#010+
   'include fpcmake.loc'#010+
   'include fpcmake.loc'#010+
   'endif'#010+
   'endif'#010+
   #010+
   #010+
   '[userrules]'#010+
   '[userrules]'#010+
   '#####################################################################'#010+
   '#####################################################################'#010+
   '# Users rules'#010+
   '# Users rules'#010+
-  '#####################################################################'#010
+  '#####################################################################',
+  #010
 );
 );

+ 2 - 1
utils/fpcm/fpcmake.ini

@@ -973,7 +973,7 @@ ifdef INSTALLEXEFILES
 override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
 override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
 endif
 endif
 
 
-fpc_install: $(INSTALLTARGET)
+fpc_install: all $(INSTALLTARGET)
 ifdef INSTALLEXEFILES
 ifdef INSTALLEXEFILES
         $(MKDIR) $(INSTALL_BINDIR)
         $(MKDIR) $(INSTALL_BINDIR)
 # Compress the exes if upx is defined
 # Compress the exes if upx is defined
@@ -1108,6 +1108,7 @@ endif
 
 
 fpc_zipinstall:
 fpc_zipinstall:
         $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
         $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
+        $(MKDIR) $(DIST_DESTDIR)
         $(DEL) $(ZIPDESTFILE)
         $(DEL) $(ZIPDESTFILE)
 ifdef USEZIPWRAPPER
 ifdef USEZIPWRAPPER
 # Handle gecho separate as we need to espace \ with \\
 # Handle gecho separate as we need to espace \ with \\

+ 26 - 10
utils/fpcm/fpcmmain.pp

@@ -174,7 +174,7 @@ implementation
       s_wrong_package_version='Package version "%s" expected, but version "%s" found';
       s_wrong_package_version='Package version "%s" expected, but version "%s" found';
       s_directory_not_found='Directory "%s" not found';
       s_directory_not_found='Directory "%s" not found';
       s_makefilefpc_not_found='No Makefile.fpc found in directory "%s"';
       s_makefilefpc_not_found='No Makefile.fpc found in directory "%s"';
-      s_package_not_found='Package "%s" not found';
+      s_package_not_found='Target "%s", package "%s" not found';
       s_fpcmake_version_required='FPCMake version "%s" is required';
       s_fpcmake_version_required='FPCMake version "%s" is required';
       s_no_targets_set='No targets set';
       s_no_targets_set='No targets set';
       s_targets_info='Targets: "%s"';
       s_targets_info='Targets: "%s"';
@@ -191,7 +191,7 @@ implementation
       begin
       begin
         if F[Length(f)] in ['/','\'] then
         if F[Length(f)] in ['/','\'] then
          Delete(f,length(f),1);
          Delete(f,length(f),1);
-        PathExists:=(findfirst(F,fareadonly+faarchive+fahidden+fadirectory,info)=0) and
+        PathExists:=(findfirst(F,faAnyFile,info)=0) and
                     ((info.attr and fadirectory)=fadirectory);
                     ((info.attr and fadirectory)=fadirectory);
         findclose(Info);
         findclose(Info);
       end;
       end;
@@ -741,14 +741,18 @@ implementation
         { Force the current target }
         { Force the current target }
         SetVariable('TARGET',TargetStr[t],false);
         SetVariable('TARGET',TargetStr[t],false);
         { Check for Makefile.fpc }
         { Check for Makefile.fpc }
-        s:=SubstVariables('$(wildcard $(addsuffix /'+ReqName+'/Makefile.fpc,$(FPCDIR)) $(addsuffix /'+ReqName+'/Makefile.fpc,$(PACKAGESDIR)) $(addsuffix /'+ReqName+'/Makefile.fpc,$(REQUIRE_PACKAGESDIR)))');
+        s:=SubstVariables('$(addsuffix /'+ReqName+'/Makefile.fpc,$(FPCDIR)) $(addsuffix /'+ReqName+'/Makefile.fpc,$(PACKAGESDIR)) $(addsuffix /'+ReqName+'/Makefile.fpc,$(REQUIRE_PACKAGESDIR))');
+        Verbose(FPCMakeDebug,'Looking for Makefile.fpc: "'+s+'"');
+        s:=SubstVariables('$(firstword $(wildcard '+s+'))');
         if TryFile(s) then
         if TryFile(s) then
          exit;
          exit;
         { Check for Package.fpc }
         { Check for Package.fpc }
-        s:=SubstVariables('$(wildcard $(addsuffix /'+ReqName+'/Package.fpc,$(FPCDIR)) $(addsuffix /'+ReqName+'/Package.fpc,$(UNITSDIR)) $(addsuffix /'+ReqName+'/Package.fpc,$(REQUIRE_UNITSDIR)))');
+        s:=SubstVariables('$(addsuffix /'+ReqName+'/Package.fpc,$(FPCDIR)) $(addsuffix /'+ReqName+'/Package.fpc,$(UNITSDIR)) $(addsuffix /'+ReqName+'/Package.fpc,$(REQUIRE_UNITSDIR))');
+        Verbose(FPCMakeDebug,'Looking for Package.fpc: "'+s+'"');
+        s:=SubstVariables('$(firstword $(wildcard '+s+'))');
         if TryFile(s) then
         if TryFile(s) then
          exit;
          exit;
-        Raise Exception.Create(Format(s_package_not_found,[Reqname]));
+        Raise Exception.Create(Format(s_package_not_found,[TargetStr[t],Reqname]));
       end;
       end;
 
 
 
 
@@ -1096,7 +1100,7 @@ implementation
              { It's a function }
              { It's a function }
              Func:=Copy(s,1,i-1);
              Func:=Copy(s,1,i-1);
 //writeln('func: ',func);
 //writeln('func: ',func);
-             { $(wildcard(<list>) }
+             { $(wildcard <list>) }
              if Func='wildcard' then
              if Func='wildcard' then
               begin
               begin
                 Delete(s,1,9);
                 Delete(s,1,9);
@@ -1117,7 +1121,7 @@ implementation
                    end;
                    end;
                 until false;
                 until false;
               end
               end
-             { $(addprefix(<suffix>,<list>) }
+             { $(addprefix <suffix>,<list>) }
              else if Func='addprefix' then
              else if Func='addprefix' then
               begin
               begin
                 Delete(s,1,10);
                 Delete(s,1,10);
@@ -1139,7 +1143,7 @@ implementation
                   Result:=Result+s1+tok;
                   Result:=Result+s1+tok;
                 until false;
                 until false;
               end
               end
-             { $(addsuffix(<suffix>,<list>) }
+             { $(addsuffix <suffix>,<list>) }
              else if Func='addsuffix' then
              else if Func='addsuffix' then
               begin
               begin
                 Delete(s,1,10);
                 Delete(s,1,10);
@@ -1160,7 +1164,15 @@ implementation
                    first:=false;
                    first:=false;
                   Result:=Result+tok+s1;
                   Result:=Result+tok+s1;
                 until false;
                 until false;
-              end;
+              end
+             { $(firstword <list>) }
+             else if Func='firstword' then
+              begin
+                Delete(s,1,10);
+                s1:=GetVar(s,')');
+                Expect(s,')');
+                Result:=GetToken(s1,' ');
+              end
            end
            end
           else
           else
            begin
            begin
@@ -1314,7 +1326,11 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.12  2001-08-10 10:28:55  pierre
+  Revision 1.13  2001-08-22 20:45:19  peter
+    * firstword added
+    * pathexist fix to include sysfile
+
+  Revision 1.12  2001/08/10 10:28:55  pierre
    + netbsd target added
    + netbsd target added
 
 
   Revision 1.11  2001/08/02 20:50:29  peter
   Revision 1.11  2001/08/02 20:50:29  peter

+ 7 - 2
utils/fpcm/fpcmwr.pp

@@ -794,12 +794,13 @@ implementation
            { Install }
            { Install }
            AddTargetVariable('install_units');
            AddTargetVariable('install_units');
            AddTargetVariable('install_files');
            AddTargetVariable('install_files');
-           AddVariable('install_prefixdir');
+           AddVariable('install_prefix');
            AddVariable('install_basedir');
            AddVariable('install_basedir');
            AddVariable('install_datadir');
            AddVariable('install_datadir');
            AddVariable('install_fpcpackage');
            AddVariable('install_fpcpackage');
            AddVariable('install_createpackagefpc');
            AddVariable('install_createpackagefpc');
            { Dist }
            { Dist }
+           AddVariable('dist_destdir');
            AddVariable('dist_zipname');
            AddVariable('dist_zipname');
            AddVariable('dist_ziptarget');
            AddVariable('dist_ziptarget');
            { Compiler }
            { Compiler }
@@ -874,7 +875,11 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.15  2001-08-02 20:50:29  peter
+  Revision 1.16  2001-08-22 20:45:19  peter
+    * firstword added
+    * pathexist fix to include sysfile
+
+  Revision 1.15  2001/08/02 20:50:29  peter
     * -T<target> support
     * -T<target> support
     * better error reporting for not found dirs
     * better error reporting for not found dirs
     * some cleanups and nicer strings
     * some cleanups and nicer strings