windows-install-loopback-ddk-20080710
[openafs.git] / src / WINNT / install / loopback / NTMakefile
1 # rcsid : $Id$
2
3 RELDIR=WINNT\install\loopback
4 !INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
5 !INCLUDE ..\..\..\config\NTMakefile.version
6
7 MEDIABINDIR = $(DESTDIR)\WinInstall\Config
8
9 EXEFILE = $(MEDIABINDIR)\instloop.exe
10
11 EXERES = $(OUT)\instloop.res
12
13 DLLFILE = $(MEDIABINDIR)\afsloopback.dll
14
15 DLLRES = $(OUT)\afsloopback.res
16
17 DLLEXPORTS=\
18         -EXPORT:UnInstallLoopBack \
19         -EXPORT:IsLoopbackInstalled \
20         -EXPORT:InstallLoopBack \
21         -EXPORT:doLoopBackEntryW \
22         -EXPORT:uninstallLoopBackEntryW \
23         -EXPORT:installLoopbackMSI \
24         -EXPORT:uninstallLoopbackMSI
25
26 DLLLIBFILES=\
27         setupapi.lib msi.lib uuid.lib Shell32.lib ole32.lib advapi32.lib wbemuuid.lib
28
29 LINK=link
30
31 # Figure out which DDK include path we require
32 !IF EXIST ($(NTDDKDIR)\netcfgx.h)
33 DDK_INCL = $(NTDDKDIR)
34 !ELSEIF EXIST ($(NTDDKDIR)\INC\WNET\netcfgx.h)
35 DDK_INCL = $(NTDDKDIR)\INC\WNET
36 !ELSEIF EXIST ($(NTDDKDIR)\INC\API\netcfgx.h)
37 DDK_INCL = $(NTDDKDIR)\INC\API
38 !ELSE
39 !ERROR netcfgx.h header file cannot be found.  DDK improperly configured.
40 !ENDIF
41
42 # afsloopback.dll
43
44 DLLSOURCEFILES = loopbackutils.cpp renameconnection.cpp wmi.cpp
45 DLLOBJFILES =  $(OUT)\loopbackutils.obj $(OUT)\renameconnection.obj $(OUT)\wmi.obj
46
47 $(EXERES) : instloop.rc AFS_component_version_number.h
48
49 $(DLLRES) : afsloopback.rc AFS_component_version_number.h
50
51 STATICC2OBJ=$(CC) $(cflags) $(afscflags) $(afscdefs) -ML
52
53 $(OUT)\loopbackutils.obj: loopbackutils.cpp
54         $(STATICC2OBJ) -c -DUNICODE -D_UNICODE /Fo$@ $**
55
56 $(OUT)\renameconnection.obj: renameconnection.cpp
57         $(STATICC2OBJ) -c -DUNICODE -D_UNICODE /Fo$@ $**
58
59 $(OUT)\wmi.obj: wmi.cpp
60         $(STATICC2OBJ)  -I$(DDK_INCL) -c -DUNICODE -D_UNICODE /Fo$@ $**
61
62 $(DLLFILE): $(DLLOBJFILES) $(DLLRES)
63         $(LINK) -DLL $(DLLEXPORTS) -OUT:$@ $** $(DLLLIBFILES)
64         $(_VC_MANIFEST_EMBED_DLL)
65         $(CODESIGN_USERLAND)
66
67 # instloop.exe
68
69 EXEOBJFILES = $(OUT)\instloop.obj $(DLLOBJFILES)
70 #EXELIBFILES = $(MEDIABINDIR)\afsloopback.lib
71
72 $(OUT)\instloop.obj: instloop.c
73       $(STATICC2OBJ) -c -DUNICODE -D_UNICODE /Fo$@ $**
74
75 $(EXEFILE): $(EXEOBJFILES) $(EXERES)
76         $(LINK) /OUT:$@ $** $(DLLLIBFILES)
77         $(_VC_MANIFEST_EMBED_EXE)
78         $(CODESIGN_USERLAND)
79
80 install:  $(DLLFILE) $(EXEFILE)
81
82 clean   ::
83         $(DEL) *.pdb
84         $(DEL) $(EXERES)
85         $(DEL) $(DLLRES)
86         $(DEL) AFS_component_version_number.h
87