Osamosvajanje projekta MSIBuild ...

This commit is contained in:
2014-03-07 11:20:15 +00:00
parent fdaefa4550
commit b4ffbd452f
15 changed files with 566 additions and 961 deletions

151
Makefile
View File

@@ -1,151 +1,146 @@
!IFNDEF MSIBUILD_OUTPUT_DIR
!ERROR Spremenljivka MSIBUILD_OUTPUT_DIR ni definirana!
!ERROR Parameter MSIBUILD_OUTPUT_DIR is undefined.
!ENDIF
!IFNDEF MSIBUILD_ROOT
!ERROR Spremenljivka MSIBUILD_ROOT ni definirana!
!ERROR Parameter MSIBUILD_ROOT is undefined.
!ENDIF
!IFNDEF MSIBUILD_TARGET
!ERROR Spremenljivka MSIBUILD_TARGET ni definirana!
!ERROR Parameter MSIBUILD_TARGET is undefined.
!ENDIF
!IFNDEF MSIBUILD_VENDOR_NAME
!ERROR Spremenljivka MSIBUILD_VENDOR_NAME ni definirana!
!ERROR Parameter MSIBUILD_VENDOR_NAME is undefined.
!ENDIF
!IFNDEF MSIBUILD_VENDOR_URL
!ERROR Spremenljivka MSIBUILD_VENDOR_URL ni definirana!
!ERROR Parameter MSIBUILD_VENDOR_URL is undefined.
!ENDIF
!IFNDEF MSIBUILD_PRODUCT_NAME
!ERROR Spremenljivka MSIBUILD_PRODUCT_NAME ni definirana!
!ERROR Parameter MSIBUILD_PRODUCT_NAME is undefined.
!ENDIF
!IFNDEF MSIBUILD_PRODUCT_DESC
!ERROR Spremenljivka MSIBUILD_PRODUCT_DESC ni definirana!
!ERROR Parameter MSIBUILD_PRODUCT_DESC is undefined.
!ENDIF
!IFNDEF MSIBUILD_CODEPAGE
!ERROR Spremenljivka MSIBUILD_CODEPAGE ni definirana!
!ERROR Parameter MSIBUILD_CODEPAGE is undefined.
!ENDIF
!IFNDEF MSIBUILD_LANGID
!ERROR Parameter MSIBUILD_LANGID is undefined.
!ENDIF
!IFNDEF MSIBUILD_MSI_VERSION_MIN
!ERROR Parameter MSIBUILD_MSI_VERSION_MIN is undefined.
!ENDIF
!IFNDEF MSIBUILD_LENGTH_ID
!ERROR Parameter MSIBUILD_LENGTH_ID is undefined.
!ENDIF
!IFNDEF MSIBUILD_LENGTH_HELP
!ERROR Parameter MSIBUILD_LENGTH_HELP is undefined.
!ENDIF
!IFNDEF MSIBUILD_PHASE
MSIBUILD_PHASE=0
!ENDIF
!IFNDEF PLAT
PLAT=Win32
!ENDIF
!IFNDEF MSIBUILD_LANGID
!ERROR Spremenljivka MSIBUILD_LANGID ni definirana!
!ENDIF
!IFNDEF MSIBUILD_MSI_VERSION_MIN
!ERROR Spremenljivka MSIBUILD_MSI_VERSION_MIN ni definirana!
!ENDIF
!IFNDEF MSIBUILD_LENGTH_ID
!ERROR Spremenljivka MSIBUILD_LENGTH_ID ni definirana!
!ENDIF
!IFNDEF MSIBUILD_LENGTH_HELP
!ERROR Spremenljivka MSIBUILD_LENGTH_HELP ni definirana!
!ENDIF
!IFNDEF MSI_FAZA
MSI_FAZA=0
!ENDIF
!IFNDEF IMENIK_ASKUPNO
IMENIK_ASKUPNO=C:\Inetpub\spletne-skripte\ASkupno
!ENDIF
!IF "$(PLAT)" == "Win32"
MSI_PLATFORMA2=Intel
MSIBUILD_PLAT=Intel
!ELSE
MSI_PLATFORMA2=$(PLAT)
MSIBUILD_PLAT=$(PLAT)
!ENDIF
Vse ::
All ::
Pocisti ::
Clean ::
!IF $(MSI_FAZA) == 0
!IF $(MSIBUILD_PHASE) == 0
######################################################################
# Pripravljalna faza
# - Priprava podatkov o verziji.
# Setup Phase
# - Version info parsing
######################################################################
Vse :: \
"$(MSIBUILD_ROOT)\Verzija\Verzija.mak" \
All :: \
"$(MSIBUILD_ROOT)\Version\Version.mak" \
"$(MSIBUILD_OUTPUT_DIR)\GUIDPaketa.mak"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSI_FAZA=1 Vse
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSIBUILD_PHASE=1 All
Pocisti ::
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSI_FAZA=100 Pocisti
Clean ::
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSIBUILD_PHASE=100 Clean
"$(MSIBUILD_ROOT)\Verzija\Verzija.mak" ::
"$(MSIBUILD_ROOT)\Version\Version.mak" ::
cd $(@D)
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Verzija
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Version
cd "$(MAKEDIR)"
"$(MSIBUILD_OUTPUT_DIR)\GUIDPaketa.mak" ::
-if exist $@ del /f /q $@
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
novguid.exe MSI_GUID_PAKETA | sed -e "s/set //i" >> "$(@:"=).tmp"
move /y "$(@:"=).tmp" $@ > NUL
!ELSEIF $(MSI_FAZA) == 1
!ELSEIF $(MSIBUILD_PHASE) == 1
######################################################################
# 1. faza
# - Priprava modulov, spiskov odvisnih datotek in zaèetne verzije
# namestitvenega paketa.
# 1st Phase
# - Module preparation, generating dependency lists and first version
# of MSI package
######################################################################
!INCLUDE "$(MSIBUILD_ROOT)\Verzija\Verzija.mak"
!INCLUDE "$(MSIBUILD_ROOT)\Version\Version.mak"
!INCLUDE "$(MSIBUILD_OUTPUT_DIR)\GUIDPaketa.mak"
Vse :: \
All :: \
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).1.msi" \
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.dep"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSI_FAZA=2 Vse
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSIBUILD_PHASE=2 All
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).1.msi" : $(MSIBUILD_MODULES) $(MSIBUILD_MODULES_PRECOMPILED)
-if exist $@ del /f /q $@
copy /y "$(MSIBUILD_ROOT)\Empty.msi" "$(@:"=).tmp" > NUL
!if not exist "$(**R:"=).msmcfg" msidb.exe -d "$(@:"=).tmp" -m $**
msiinfo.exe "$(@:"=).tmp" /nologo /C $(MSIBUILD_CODEPAGE) /T "$(MSIBUILD_PRODUCT_NAME) $(MSI_VERZIJA_STR) ($(PLAT))" /J "$(MSIBUILD_PRODUCT_DESC)" /A "$(MSIBUILD_VENDOR_NAME)" /P "$(MSI_PLATFORMA2);$(MSIBUILD_LANGID)" /G $(MSIBUILD_MSI_VERSION_MIN) /V $(MSI_GUID_PAKETA) /W 0 /O ""
msiinfo.exe "$(@:"=).tmp" /nologo /C $(MSIBUILD_CODEPAGE) /T "$(MSIBUILD_PRODUCT_NAME) $(MSIBUILD_VERSION_STR) ($(PLAT))" /J "$(MSIBUILD_PRODUCT_DESC)" /A "$(MSIBUILD_VENDOR_NAME)" /P "$(MSIBUILD_PLAT);$(MSIBUILD_LANGID)" /G $(MSIBUILD_MSI_VERSION_MIN) /V $(MSI_GUID_PAKETA) /W 0 /O ""
!if exist "$(**R:"=).msmcfg" msimsm.exe "$(@:"=).tmp" $** /N "$(**R:"=).msmcfg" /D "$(**R:"=).log" /Sd "$(MSIBUILD_OUTPUT_DIR)" /F
move /y "$(@:"=).tmp" $@ > NUL
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.dep" : "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).1.msi"
-if exist $@ del /f /q $@
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
cscript.exe "$(IMENIK_ASKUPNO)\MSI.wsf" //Job:NarediDEP //Nologo "$(@:"=).tmp" "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.msi" $**
cscript.exe "$(MSIBUILD_ROOT)\MSI.wsf" //Job:MakeDEP //Nologo "$(@:"=).tmp" "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.msi" $**
move /y "$(@:"=).tmp" $@ > NUL
$(MSIBUILD_MODULES) ::
cd $(@D)
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSM_IMA_VERZIJO=1
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSIBUILD_HAS_VERSION=1
cd "$(MAKEDIR)"
!ELSEIF $(MSI_FAZA) == 2
!ELSEIF $(MSIBUILD_PHASE) == 2
######################################################################
# 2. faza
# - Dopolnitev namestitvenega paketa z verzijami in dolžinami datotek.
# 2nd Phase
# - MSI package population with exact file versions and sizes
######################################################################
!INCLUDE "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.dep"
!INCLUDE "$(MSIBUILD_ROOT)\Verzija\Verzija.mak"
!INCLUDE "$(MSIBUILD_ROOT)\Version\Version.mak"
Vse :: \
All :: \
!IFDEF MSIBUILD_COMPRESS
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).3.dep" \
!ENDIF
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.msi"
!IFDEF MSIBUILD_COMPRESS
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSI_FAZA=3 Vse
$(MAKE) /f "Makefile" /$(MAKEFLAGS) MSIBUILD_PHASE=3 All
!ENDIF
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.msi" : "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).1.msi"
@@ -158,26 +153,26 @@ Vse :: \
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).3.dep" : "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).1.msi"
-if exist $@ del /f /q $@
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
cscript.exe "$(IMENIK_ASKUPNO)\MSI.wsf" //Job:NarediDEP //Nologo "$(@:"=).tmp" "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).cab" $**
cscript.exe "$(MSIBUILD_ROOT)\MSI.wsf" //Job:MakeDEP //Nologo "$(@:"=).tmp" "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).cab" $**
move /y "$(@:"=).tmp" $@ > NUL
!ELSEIF $(MSI_FAZA) == 3
!ELSEIF $(MSIBUILD_PHASE) == 3
######################################################################
# 3. faza
# - Kompresija namestitvenega paketa
# 3rd Phase
# - MSI package compression
######################################################################
!INCLUDE "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).3.dep"
!INCLUDE "$(MSIBUILD_ROOT)\Verzija\Verzija.mak"
!INCLUDE "$(MSIBUILD_ROOT)\Version\Version.mak"
Vse :: \
All :: \
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).3.msi"
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).3.ddf" : "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.msi"
-if exist $@ del /f /q $@
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
cscript.exe "$(IMENIK_ASKUPNO)\MSI.wsf" //Job:NarediDDF //Nologo "$(@:"=).tmp" $** /O:"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET)" /K:LZX
cscript.exe "$(MSIBUILD_ROOT)\MSI.wsf" //Job:MakeDDF //Nologo "$(@:"=).tmp" $** /O:"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET)" /C:LZX
move /y "$(@:"=).tmp" $@ > NUL
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).cab" \
@@ -191,7 +186,7 @@ Vse :: \
"$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).inf"
-if exist $@ del /f /q $@
copy /y "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).2.msi" "$(@:"=).tmp" > NUL
cscript.exe "$(IMENIK_ASKUPNO)\MSI.wsf" //Job:NastaviCAB //Nologo "$(@:"=).tmp" "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).inf" /V
cscript.exe "$(MSIBUILD_ROOT)\MSI.wsf" //Job:SetCAB //Nologo "$(@:"=).tmp" "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).inf" /E
msiinfo.exe "$(@:"=).tmp" /nologo /U 4
!IFDEF MANIFESTCERTIFICATETHUMBPRINT
signcode.exe -i "$(MSIBUILD_VENDOR_URL)" -sha1 "$(MANIFESTCERTIFICATETHUMBPRINT)" -t "$(MANIFESTTIMESTAMPURL)" -n "$(MSIBUILD_PRODUCT_NAME)" "$(@:"=).tmp" > NUL
@@ -202,13 +197,13 @@ Vse :: \
!ELSE
######################################################################
# Èistilna faza faza
# - Èišèenje modulov
# Cleanup phase
# - Cleaning modules
######################################################################
Pocisti :: $(MSIBUILD_MODULES) $(MSIBUILD_MODULES_PRECOMPILED)
cd "$(MSIBUILD_ROOT)\Verzija"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Pocisti
Clean :: $(MSIBUILD_MODULES) $(MSIBUILD_MODULES_PRECOMPILED)
cd "$(MSIBUILD_ROOT)\Version"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean
cd "$(MAKEDIR)"
-if exist "$(MSIBUILD_OUTPUT_DIR)\GUIDPaketa.mak" del /f /q "$(MSIBUILD_OUTPUT_DIR)\GUIDPaketa.mak"
-if exist "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).1.msi" del /f /q "$(MSIBUILD_OUTPUT_DIR)\$(MSIBUILD_TARGET).1.msi"
@@ -225,7 +220,7 @@ Pocisti :: $(MSIBUILD_MODULES) $(MSIBUILD_MODULES_PRECOMPILED)
$(MSIBUILD_MODULES) ::
cd $(@D)
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Pocisti
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean
cd "$(MAKEDIR)"
!IFDEF MSIBUILD_MODULES_PRECOMPILED