Browse Source

* zipinstall wrapper

peter 25 years ago
parent
commit
5161e326cc
2 changed files with 221 additions and 173 deletions
  1. 178 168
      utils/fpcmake.inc
  2. 43 5
      utils/fpcmake.ini

File diff suppressed because it is too large
+ 178 - 168
utils/fpcmake.inc


+ 43 - 5
utils/fpcmake.ini

@@ -49,6 +49,14 @@ else
 SRCEXEEXT=.exe
 endif
 
+# Path Separator, the subst trick is necessary for the \ that can't exists
+# at the end of a line
+ifdef inUnix
+PATHSEP=/
+else
+PATHSEP=$(subst /,\,/)
+endif
+
 # The path which is searched separated by spaces
 ifdef inUnix
 SEARCHPATH=$(subst :, ,$(PATH))
@@ -1262,18 +1270,48 @@ USETAR=1
 endif
 endif
 
+# Use a wrapper script by default for Os/2
+ifdef inOS2
+USEZIPWRAPPER=1
+endif
+
+# Create commands to create the zip/tar file
+ZIPWRAPPER=$(DESTZIPDIR)/fpczip.bat
+ZIPCMD_CDPACK:=cd $(subst /,$(PATHSEP),$(PACKDIR))
+ZIPCMD_CDBASE:=cd $(subst /,$(PATHSEP),$(BASEDIR))
+ifdef USETAR
+ZIPDESTFILE:=$(DESTZIPDIR)/$(ZIPNAME)$(TAREXT)
+ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
+else
+ZIPDESTFILE:=$(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT)
+ZIPCMD_ZIP:=$(subst /,$(PATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
+endif
+
 fpc_zipinstall:
 ifndef ZIPNAME
         @$(ECHO) "Please specify ZIPNAME!"
         @exit 1
 else
         $(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
-ifdef USETAR
-        $(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT)
-        cd $(PACKDIR) ; $(TARPROG) cf$(TAROPT) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT) * ; cd $(BASEDIR)
+        $(DEL) $(ZIPDESTFILE)
+ifdef USEZIPWRAPPER
+ifneq ($(ECHO),echo)
+        $(ECHO) "$(ZIPCMD_CDPACK)" > $(ZIPWRAPPER)
+        $(ECHO) "$(ZIPCMD_ZIP)" >> $(ZIPWRAPPER)
+        $(ECHO) "$(ZIPCMD_CDBASE)" >> $(ZIPWRAPPER)
+else
+        $(ECHO) $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
+        $(ECHO) $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
+        $(ECHO) $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
+endif
+ifdef inUnix
+        /bin/sh $(ZIPWRAPPER)
+else
+        $(ZIPWRAPPER)
+endif
+        $(DEL) $(ZIPWRAPPER)
 else
-        $(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT)
-        cd $(PACKDIR) ; $(ZIPPROG) -Dr $(ZIPOPT) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT) * ; cd $(BASEDIR)
+        $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
 endif
         $(DELTREE) $(PACKDIR)
 endif

Some files were not shown because too many files changed in this diff