44ef0a61f8cdccdcf08592df58d061e2381b52e3
[openafs.git] / src / WINNT / afsapplib / NTMakefile
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 # indicate that the functions in this library should be exported
9
10 AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -DEXPORT_AFSAPPLIB -DEXPORTED=_declspec(dllexport)
11
12 # include the primary makefile
13
14 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
15 !INCLUDE ..\..\config\NTMakefile.version
16
17 ############################################################################
18
19 INCFILEDIR = $(DESTDIR)\include\WINNT
20
21 ILIBDIR = $(DESTDIR)\lib\afs
22
23 INCFILES = \
24         $(INCFILEDIR)\afsapplib.h \
25         $(INCFILEDIR)\al_admsvr.h \
26         $(INCFILEDIR)\al_dynlink.h \
27         $(INCFILEDIR)\al_messages.h \
28         $(INCFILEDIR)\al_progress.h \
29         $(INCFILEDIR)\al_resource.h \
30         $(INCFILEDIR)\al_wizard.h \
31         $(INCFILEDIR)\checklist.h \
32         $(INCFILEDIR)\ctl_date.h \
33         $(INCFILEDIR)\ctl_elapsed.h \
34         $(INCFILEDIR)\ctl_sockaddr.h \
35         $(INCFILEDIR)\ctl_spinner.h \
36         $(INCFILEDIR)\ctl_time.h \
37         $(INCFILEDIR)\dialog.h \
38         $(INCFILEDIR)\fastlist.h \
39         $(INCFILEDIR)\hashlist.h \
40         $(INCFILEDIR)\regexp.h \
41         $(INCFILEDIR)\resize.h \
42         $(INCFILEDIR)\settings.h \
43         $(INCFILEDIR)\subclass.h
44
45 DLLOBJS = \
46         afsapplib_stub.res \
47         afsapplib.obj \
48         al_admsvr.obj \
49         al_browse.obj \
50         al_browseset.obj \
51         al_cover.obj \
52         al_creds.obj \
53         al_dynlink.obj \
54         al_error.obj \
55         al_help.obj \
56         al_misc.obj \
57         al_progress.obj \
58         al_pump.obj \
59         al_task.obj \
60         al_wizard.obj \
61         checklist.obj \
62         ctl_date.obj \
63         ctl_elapsed.obj \
64         ctl_sockaddr.obj \
65         ctl_spinner.obj \
66         ctl_time.obj \
67         dialog.obj \
68         fastlist.obj \
69         hashlist.obj \
70         regexp.obj \
71         resize.obj \
72         settings.obj \
73         subclass.obj
74
75 VCLIBS =\
76         comctl32.lib \
77         rpcrt4.lib \
78         rpcns4.lib \
79
80 DLLLIBS = \
81         $(DESTDIR)\lib\afs\TaAfsAdmSvrClient.lib \
82         $(DESTDIR)\lib\afs\TaLocale.lib
83
84 DLLFILE = $(DESTDIR)\root.server\usr\afs\bin\TaAfsAppLib.dll
85
86
87 # Since AfsAppLib links with TaAfsAdmSvrClient.lib--and both need stuff
88 # like the HashList code--we'll get lots of unnecessary 4049 warnings from
89 # the linker. Disable that complaint.
90
91 LOCALLINKFLAGS = -IGNORE:4049
92
93 # AfsAppLib needs to use an explicit .DEF file to get its entry points public
94
95 LOCALLINKFLAGS = $(LOCALLINKFLAGS) /DEF:TaAfsAppLib.def
96
97 # Also, AfsAppLib has a specific DLL entry-point which should be used
98
99 LOCALLINKFLAGS = $(LOCALLINKFLAGS) -entry:DllEntryPoint
100
101 ############################################################################
102
103 install :
104         @echo TaAfsAppLib.DLL is built automatically when building AfsAdmSvr
105         @echo (the two are related--AfsAppLib uses the AfsAdmSvr client library,
106         @echo and the AfsAdmSvr server executable uses the AfsAppLib DLL--
107         @echo and they must therefore be built in a specific order).
108         @echo.
109         @echo You do not need to build in the AfsAppLib directory explicitly.
110         @echo.
111
112 headers : $(INCFILES)
113
114 lang ::
115         $(CD) lang
116         for /f %l in ('dir /B ??_??') do @$(NTLANG) %l $(MAKECMD) /nologo /f NTMakefile install
117         $(CD) ..
118
119 primary : headers $(DLLFILE) lang
120
121 $(DLLFILE) : $(DLLOBJS) $(DLLLIBS)
122         $(DLLGUILINK) $(LOCALLINKFLAGS) $(VCLIBS)
123         $(DLLPREP)
124         $(COPY) $*.lib $(ILIBDIR)
125         $(DEL) $*.lib $*.exp
126
127 clean::
128
129
130 ############################################################################
131 #
132 # Dependencies
133 #
134
135 AfsAppLib_stub.res : AfsAppLib_stub.rc AFS_component_version_number.h
136