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