demand attach build always
[openafs.git] / src / dvolser / 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 AFSDEV_AUXCDEFINES = -DAFS_PTHREAD_ENV -DRXDEBUG -DFSSYNC_BUILD_CLIENT -DAFS_DEMAND_ATTACH_FS
9
10 RELDIR=dvolser
11 !INCLUDE ..\config\NTMakefile.$(SYS_NAME)
12 !INCLUDE ..\config\NTMakefile.version
13
14 SRC_DIR = ..\volser
15
16 VOLSER = ..\volser
17 TVOLSER = .
18 VLSERVER = ..\vlserver
19 LWP = ..\lwp
20 LIBACL = ..\libacl
21 UTIL = ..\util
22 DIR = ..\dir
23 VOL = ..\vol
24 FSINT = ..\fsint
25 RX = ..\rx
26
27 ############################################################################
28 # Definitions for installing header files
29
30 INCFILEDIR = $(DESTDIR)\include\afs  # header file install directory
31
32 INCFILES = \
33         $(INCFILEDIR)\volser_prototypes.h \
34         $(INCFILEDIR)\volser.h \
35         $(INCFILEDIR)\volint.h
36
37 LOCAL_INCFILES = \
38         volser.h \
39         volint.h
40
41 ############################################################################
42 # Build afstvolser.lib
43
44 LIBFILE = $(DESTDIR)\lib\afs\afstvolser.lib
45
46 LIBOBJS = $(OUT)\volint.cs.obj  \
47           $(OUT)\vsprocs.obj \
48           $(OUT)\vsutils.obj \
49           $(OUT)\lockprocs.obj  \
50           $(OUT)\volint.xdr.obj \
51           $(OUT)\volerr.obj  \
52           $(OUT)\volint.ss.obj  \
53           $(OUT)\AFS_component_version_number.obj 
54
55 $(LIBOBJS): $(VOLSER)\$$(@B).c
56         $(C2OBJ) -I$(TVOLSER) -I$(UTIL) $**
57
58 $(LIBFILE): $(LIBOBJS)
59         $(LIBARCH)
60
61
62 ############################################################################
63 # Build davolserver
64
65 VOLSERVER_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\davolserver.exe
66
67 VOLSEROBJS=$(OUT)\volmain.obj $(OUT)\volprocs.obj $(OUT)\physio.obj $(OUT)\voltrans.obj $(OUT)\dumpstuff.obj
68
69 LWPOBJS=$(OUT)\lock.obj $(OUT)\threadname.obj $(OUT)\fasttime.obj
70
71 LIBACLOBJS=$(OUT)\aclprocs.obj $(OUT)\netprocs.obj
72
73 DIROBJS=$(OUT)\buffer.obj $(OUT)\dir.obj $(OUT)\salvage.obj
74
75 VOLSERVER_EXEOBJS = $(VOLSEROBJS) \
76         $(VLSERVEROBJS) \
77         $(LWPOBJS) \
78         $(LIBACLOBJS) \
79         $(DIROBJS) \
80         $(FSINTOBJS) \
81         $(OUT)\vscommon.obj \
82         $(OUT)\davolserver.res
83
84 VOLSERVER_EXELIBS = \
85         $(DESTDIR)\lib\afsauthent.lib \
86         $(DESTDIR)\lib\afsrpc.lib \
87         $(DESTDIR)\lib\afs\afstvolser.lib \
88         $(DESTDIR)\lib\afs\mtafsvol.lib \
89         $(DESTDIR)\lib\afs\afscmd.lib \
90         $(DESTDIR)\lib\afs\afsaudit.lib \
91         $(DESTDIR)\lib/afs/afscom_err.lib \
92         $(DESTDIR)\lib\afs\afsreg.lib \
93         $(DESTDIR)\lib\afs\afsprocmgmt.lib \
94         $(DESTDIR)\lib\afs\afseventlog.lib \
95         $(DESTDIR)\lib\afs\mtafsutil.lib \
96         $(DESTDIR)\lib\afspthread.lib
97
98 $(VOLSERVER_EXEFILE): $(VOLSERVER_EXEOBJS) $(VOLSERVER_EXELIBS) 
99         $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
100         $(_VC_MANIFEST_EMBED_EXE)
101         $(EXEPREP) 
102         $(CODESIGN_USERLAND)
103         $(SYMSTORE_IMPORT)
104
105 $(OUT)\vscommon.obj: $(VOLSER)\common.c
106         $(C2OBJ) /Fo$(OUT)\vscommon.obj -I$(VOLSER) -I$(UTIL) $**
107
108 $(VOLSEROBJS): $(VOLSER)\$$(@B).c
109         $(C2OBJ) -I$(VOLSER) -I$(UTIL) $**
110
111 $(LWPOBJS): $(LWP)\$$(@B).C
112         $(C2OBJ) -I$(LWP) $**
113
114 $(LIBACLOBJS): $(LIBACL)\$$(@B).C
115         $(C2OBJ) -I$(LIBACL) $**
116
117 $(DIROBJS): $(DIR)\$$(@B).C
118         $(C2OBJ) -I$(DIR) $**
119
120 ############################################################################
121 # Generate versioninfo resources
122 $(OUT)\davolserver.res: AFS_component_version_number.h
123
124 ############################################################################
125 # Definitions for generating files via RXGEN
126
127 volint.cs.c: $(VOLSER)\volint.xg volint.h
128         $(RXGEN) -x -C -o $@ $(VOLSER)\volint.xg
129
130 volint.ss.c: $(VOLSER)\volint.xg volint.h
131         $(RXGEN) -x -S -o $@ $(VOLSER)\volint.xg
132
133 volint.xdr.c: $(VOLSER)\volint.xg volint.h
134         $(RXGEN) -x -c -o $@ $(VOLSER)\volint.xg
135
136 volint.h: $(VOLSER)\volint.xg
137         $(RXGEN) -x -h -o $@ $(VOLSER)\volint.xg
138
139 ############################################################################
140 # Definitions for generating files via COMPILE_ET
141
142 volser.h volerr.c: $(VOLSER)\volerr.et $(VOLSER)\volser.p.h
143         $(DEL) volerr.c volser.h
144         $(COPY) $(VOLSER)\volerr.et .
145         $(COPY) $(VOLSER)\volser.p.h .
146         $(COMPILE_ET) volerr -h volser
147
148 ############################################################################
149 # Install target; primary makefile target
150
151 install_lib: $(LIBFILE) 
152
153 install: install_lib $(VOLSERVER_EXEFILE) $(CL_VOS_EXEFILE) \
154                 $(INCFILES)
155
156
157 ############################################################################
158 # Local clean target; augments predefined clean target
159
160 clean::
161         $(DEL) volerr.c volser.h volerr.et volser.p.h $(INCFILES)
162         $(DEL) volint.cs.c volint.h volint.ss.c volint.xdr.c
163
164 mkdir: