f0a934074e419cab6799981274dfc11e52831eb2
[openafs.git] / src / WINNT / install / NSIS / NTMakefile
1 RELDIR=WINNT\install\NSIS
2 !INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
3 !INCLUDE ..\..\..\config\NTMakefile.version
4
5 EXEDIR = $(DESTDIR)\WinInstall\Config
6 NSISDIR = C:\Program Files\NSIS
7
8 # Revise the rule for compiling sources to use static libraries
9 C2OBJ   = $(cc) /Fo$@ /Fd$*.pdb $(cflags) $(cdebug) $(cvars) $(afscflags) $(afscdefs) /c
10
11 LOOPBACK_LIBS = wbemuuid.lib setupapi.lib msi.lib ole32.lib shell32.lib oleaut32.lib user32.lib
12
13 $(OUT)\Service.obj: Service.cpp
14            $(C2OBJ) Service.cpp
15
16 $(OUT)\Service.res: Service.rc AFS_component_version_number.h
17
18 $(EXEDIR)\Service.exe: $(OUT)\Service.obj $(OUT)\Service.res
19       $(EXECONLINK) 
20       $(_VC_MANIFEST_EMBED_EXE)
21
22 $(OUT)\Killer.res: Killer.rc AFS_component_version_number.h
23
24 $(OUT)\Killer.obj: Killer.cpp
25       $(C2OBJ) Killer.cpp
26
27 $(EXEDIR)\Killer.exe: $(OUT)\Killer.obj $(OUT)\Killer.res
28       $(EXECONLINK) 
29         $(_VC_MANIFEST_EMBED_EXE)
30
31 $(OUT)\AdminGroup.res: AdminGroup.rc AFS_component_version_number.h
32
33 $(OUT)\AdminGroup.obj: AdminGroup.cpp
34       $(C2OBJ) AdminGroup.cpp
35
36 $(EXEDIR)\AdminGroup.exe: $(OUT)\AdminGroup.obj $(OUT)\AdminGroup.res
37       $(EXECONLINK) 
38         $(_VC_MANIFEST_EMBED_EXE)
39
40 !IF ("$(AFSDEV_BUILDTYPE)"=="FREE")
41 !IF ("$(CPU)" == "i386")
42 ARCH=x86
43 !ELSE IF ("$(CPU)" == "amd64")
44 ARCH=x64
45 !ELSE
46 ARCH=$(CPU)
47 !ENDIF
48 !ELSE
49 !IF ("$(CPU)" == "i386")
50 ARCH=Intel
51 !ELSE IF ("$(CPU)" == "amd64")
52 ARCH=x64
53 !ELSE
54 ARCH=$(CPU)
55 !ENDIF
56 !ENDIF
57
58 prebuild:
59 !IF ("$(AFSDEV_BUILDTYPE)" == "FREE")
60 !IF ("$(AFSVER_CL)"=="1400")
61    $(COPY) "%VSINSTALLDIR%\SDK\v2.0\BootStrapper\Packages\vcredist_$(ARCH)\vcredist_$(ARCH).exe" $(EXEDIR)
62 !ELSE IF ("$(AFSVER_CL)"=="1310")
63    $(COPY) %SystemRoot%\System32\Msvcr71.dll $(EXEDIR)
64    $(COPY) %SystemRoot%\System32\MFC71.DLL $(EXEDIR)
65 !ELSE IF ("$(AFSVER_CL)"=="1300")
66    $(COPY) %SystemRoot%\System32\Msvcp70.dll $(EXEDIR)
67    $(COPY) %SystemRoot%\System32\MSVCRT.DLL $(EXEDIR)
68    $(COPY) %SystemRoot%\System32\MFC70.DLL $(EXEDIR)
69 !ELSE IF ("$(AFSVER_CL)"=="1200")
70    $(COPY) %SystemRoot%\System32\MSVCRT.DLL $(EXEDIR)
71    $(COPY) %SystemRoot%\System32\MFC42.DLL $(EXEDIR)
72 !ELSE
73 !ERROR Unknown Compiler Version
74 !ENDIF
75 !ELSE # NOT FREE - CHECKED
76 !IF ("$(AFSVER_CL)"=="1400")
77 # Do nothing.
78 !ELSE IF ("$(AFSVER_CL)"=="1310")
79    $(COPY) %SystemRoot%\System32\Msvcr71d.dll $(EXEDIR)
80    $(COPY) %SystemRoot%\System32\Msvcr71d.pdb $(EXEDIR)
81    $(COPY) %SystemRoot%\System32\MFC71D.DLL $(EXEDIR)
82    $(COPY) %SystemRoot%\System32\MFC71D.pdb $(EXEDIR)
83 !ELSE IF ("$(AFSVER_CL)"=="1300")
84    $(COPY) %SystemRoot%\System32\Msvcp70d.dll $(EXEDIR)
85    $(COPY) %SystemRoot%\System32\Msvcp70d.pdb $(EXEDIR)
86    $(COPY) %SystemRoot%\System32\MSVCRTD.DLL $(EXEDIR)
87    $(COPY) %SystemRoot%\System32\MSVCRTD.pdb $(EXEDIR)
88    $(COPY) %SystemRoot%\System32\MFC70D.DLL $(EXEDIR)
89    $(COPY) %SystemRoot%\System32\MFC70D.pdb $(EXEDIR)
90 !ELSE IF ("$(AFSVER_CL)"=="1200")
91    $(COPY) %SystemRoot%\System32\MSVCRTD.DLL $(EXEDIR)
92    $(COPY) %SystemRoot%\System32\MSVCRTD.pdb $(EXEDIR)
93    $(COPY) %SystemRoot%\System32\MFC42D.DLL $(EXEDIR)
94    $(COPY) %SystemRoot%\System32\MFC42D.pdb $(EXEDIR)
95 !ELSE
96 !ERROR Unknown Compiler Version
97 !ENDIF
98 !ENDIF
99    $(DEL) $(OUT)\nsi-includes.nsi
100    echo !define AFS_DESTDIR $(DESTDIR) > $(OUT)\nsi-includes.nsi
101    echo !define AFS_VERSION $(AFSPRODUCT_VERSION) >> $(OUT)\nsi-includes.nsi
102    echo !define AFS_MAJORVERSION $(AFSPRODUCT_VER_MAJOR) >>$(OUT)\nsi-includes.nsi
103    echo !define AFS_MINORVERSION $(AFSPRODUCT_VER_MINOR) >>$(OUT)\nsi-includes.nsi
104    echo !define AFS_PATCHLEVEL $(AFSPRODUCT_VER_PATCH) >>$(OUT)\nsi-includes.nsi
105    $(DESTDIR)\bin\util_cr.exe _echo "!define " >>$(OUT)\nsi-includes.nsi 
106    "$(NSISDIR)\makensis.exe" /VERSION >>$(OUT)\nsi-includes.nsi          
107    echo. >>$(OUT)\nsi-includes.nsi                                       
108 !if ("$(AFSVER_CL)" == "1400")
109    echo !define CL_1400 1 >> $(OUT)\nsi-includes.nsi
110    echo !define VCREDISTNAME vcredist_$(ARCH).exe >> $(OUT)\nsi-includes.nsi
111 !else if ("$(AFSVER_CL)" == "1310")
112    echo !define CL_1310 1 >> $(OUT)\nsi-includes.nsi
113 !else if ("$(AFSVER_CL)" == "1300")
114    echo !define CL_1300 1 >> $(OUT)\nsi-includes.nsi
115 !endif
116 !if ("$(AFSIFS)" == "TRUE")
117    echo !define AFSIFS 1 >> $(OUT)\nsi-includes.nsi
118 !endif
119 !if ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
120    echo !define DEBUG 1 >>$(OUT)\nsi-includes.nsi
121 !endif
122
123 !if ("$(AFSVER_CL)"=="1400") && ("$(AFSDEV_BUILDTYPE)"!="FREE")
124 MSVCMSI=$(EXEDIR)\vcruntime.msi
125
126 $(MSVCMSI): $(OUT)\vcruntime.wixobj
127         light -out $@ $**
128
129 $(OUT)\vcruntime.wixobj: vcruntime.wxs
130         candle -out $@ $** -dPlatform=$(ARCH) -dConfig=Debug
131
132 !else
133 MSVCMSI=
134 !endif
135
136 runtime: $(MSVCMSI)
137
138 build: prebuild
139    "$(NSISDIR)\makensis.exe" /DINCLUDEDIR=$(OUT) OpenAFS.nsi
140
141 install: $(OUT)\Service.obj $(EXEDIR)\Service.exe $(OUT)\Killer.obj $(EXEDIR)\Killer.exe $(EXEDIR)\AdminGroup.exe runtime build
142
143 clean::
144    $(DEL) $(OUT)\Service.obj
145    $(DEL) $(OUT)\Service.res
146    $(DEL) $(EXEDIR)\Service.exe
147    $(DEL) $(OUT)\Killer.obj
148    $(DEL) $(OUT)\Killer.res
149    $(DEL) $(EXEDIR)\Killer.exe
150    $(DEL) $(OUT)\AdminGroup.obj
151    $(DEL) $(OUT)\AdminGroup.res
152    $(DEL) $(EXEDIR)\AdminGroup.exe
153    $(DEL) nsi-include.nsi
154    $(DEL) AFS_component_version_number.h
155 #   $(DEL) $(EXEDIR)\Msvcr71.dll
156 #   $(DEL) $(EXEDIR)\MFC42.DLL
157 #   $(DEL) OpenAFSforWindows.exe
158 !if ("$(AFSVER_CL)"=="1400") && ("$(AFSDEV_BUILDTYPE)"!="FREE")
159    $(DEL) $(OUT)\vcruntime.wixobj
160    $(DEL) $(MSVCMSI)
161 !endif