bozo: Introduce bnode_Wait()
[openafs.git] / src / WINNT / install / loopback / NTMakefile
index 55bcc61..e2975ce 100644 (file)
@@ -1,4 +1,3 @@
-# rcsid : $Id$
 
 RELDIR=WINNT\install\loopback
 !INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
@@ -8,8 +7,12 @@ MEDIABINDIR = $(DESTDIR)\WinInstall\Config
 
 EXEFILE = $(MEDIABINDIR)\instloop.exe
 
+EXERES = $(OUT)\instloop.res
+
 DLLFILE = $(MEDIABINDIR)\afsloopback.dll
 
+DLLRES = $(OUT)\afsloopback.res
+
 DLLEXPORTS=\
        -EXPORT:UnInstallLoopBack \
        -EXPORT:IsLoopbackInstalled \
@@ -24,10 +27,34 @@ DLLLIBFILES=\
 
 LINK=link
 
+# Figure out which DDK include path we require
+!IF EXIST ($(NTDDKDIR)\netcfgx.h)
+DDK_INCL = $(NTDDKDIR)
+!ELSEIF EXIST ($(NTDDKDIR)\INC\WNET\netcfgx.h)
+DDK_INCL = $(NTDDKDIR)\INC\WNET
+!ELSEIF EXIST ($(NTDDKDIR)\INC\API\netcfgx.h)
+DDK_INCL = $(NTDDKDIR)\INC\API
+!ELSE
+!ERROR netcfgx.h header file cannot be found.  DDK improperly configured.
+!ENDIF
+
+# DDK version 6001 and above contain SDK header files and come with
+# its own set of runtime header files.  We want to use the Platform
+# SDK header files.
+INCLUDE=$(INCLUDE);$(DDK_INCL)
+
 # afsloopback.dll
 
-DLLSOURCEFILES = loopbackutils.cpp renameconnection.cpp wmi.cpp
-DLLOBJFILES =  $(OUT)\loopbackutils.obj $(OUT)\renameconnection.obj $(OUT)\wmi.obj
+DLLSOURCEFILES = loopbackutils.cpp wmi.cpp renameconnection.cpp
+
+# The order of these files is significant.  The first in the list
+# should be an .obj that includes <afx.h> at the top of the source
+# file.  See Q148652
+DLLOBJFILES =  $(OUT)\renameconnection.obj $(OUT)\loopbackutils.obj $(OUT)\wmi.obj
+
+$(EXERES) : instloop.rc AFS_component_version_number.h
+
+$(DLLRES) : afsloopback.rc AFS_component_version_number.h
 
 STATICC2OBJ=$(CC) $(cflags) $(afscflags) $(afscdefs) -ML
 
@@ -38,22 +65,33 @@ $(OUT)\renameconnection.obj: renameconnection.cpp
        $(STATICC2OBJ) -c -DUNICODE -D_UNICODE /Fo$@ $**
 
 $(OUT)\wmi.obj: wmi.cpp
-       $(STATICC2OBJ)  -I$(NTDDKDIR) -c -DUNICODE -D_UNICODE /Fo$@ $**
+       $(STATICC2OBJ) -I$(DDK_INCL) -c -DUNICODE -D_UNICODE /Fo$@ $**
 
-$(DLLFILE): $(DLLOBJFILES)
-       $(LINK) -DLL $(DLLEXPORTS) -OUT:$@ $(DLLOBJFILES) $(DLLLIBFILES)
+$(DLLFILE): $(DLLOBJFILES) $(DLLRES)
+       $(LINK) -DLL $(DLLEXPORTS) -OUT:$@ $** $(DLLLIBFILES)
+        $(_VC_MANIFEST_EMBED_DLL)
+        $(CODESIGN_USERLAND)
+        $(SYMSTORE_IMPORT)
 
 # instloop.exe
 
-EXEOBJFILES = $(OUT)\instloop.obj $(DLLOBJFILES)
+EXEOBJFILES = $(DLLOBJFILES) $(OUT)\instloop.obj
 #EXELIBFILES = $(MEDIABINDIR)\afsloopback.lib
 
 $(OUT)\instloop.obj: instloop.c
       $(STATICC2OBJ) -c -DUNICODE -D_UNICODE /Fo$@ $**
 
-$(EXEFILE): $(EXEOBJFILES)
-      $(LINK) /OUT:$@ $(EXEOBJFILES) $(DLLLIBFILES)
+$(EXEFILE): $(EXEOBJFILES) $(EXERES)
+        $(LINK) /OUT:$@ $** $(DLLLIBFILES)
+        $(_VC_MANIFEST_EMBED_EXE)
+        $(CODESIGN_USERLAND)
+        $(SYMSTORE_IMPORT)
 
 install:  $(DLLFILE) $(EXEFILE)
 
 clean  ::
+       $(DEL) *.pdb
+       $(DEL) $(EXERES)
+       $(DEL) $(DLLRES)
+       $(DEL) AFS_component_version_number.h
+