Improve Windows Build System By Using MT-safe Versions of Libraries
[openafs.git] / src / vol / NTMakefile
index 6396eae..c48d7fd 100644 (file)
@@ -24,23 +24,25 @@ INCFILES =\
        $(INCFILEDIR)\afs\partition.h \
        $(INCFILEDIR)\afs\viceinode.h \
        $(INCFILEDIR)\afs\vnode.h \
+        $(INCFILEDIR)\afs\vnode_inline.h \
        $(INCFILEDIR)\afs\volume.h \
+        $(INCFILEDIR)\afs\volume_inline.h \
        $(INCFILEDIR)\afs\voldefs.h \
-       $(INCFILEDIR)\afs\daemon_com.h
-
-
+       $(INCFILEDIR)\afs\daemon_com.h \
+        $(INCFILEDIR)\afs\vol_prototypes.h
 
 ############################################################################
 # Build afsvol.lib
 
 LIBFILE = $(DESTDIR)\lib\afs\afsvol.lib
 
+MT_LIBFILE = $(DESTDIR)\lib\afs\mtafsvol.lib
+
 LIBOBJS =\
        $(OUT)\common.obj \
        $(OUT)\clone.obj \
        $(OUT)\fssync-client.obj \
        $(OUT)\fssync-server.obj \
-       $(OUT)\fssync-debug.obj \
        $(OUT)\daemon_com.obj \
        $(OUT)\ntops.obj \
        $(OUT)\nuke.obj \
@@ -52,10 +54,57 @@ LIBOBJS =\
        $(OUT)\ihandle.obj \
        $(OUT)\AFS_component_version_number.obj 
 
+MT_LIBOBJS =\
+       $(OUT)\common.obj \
+       $(OUT)\clone_mt.obj \
+       $(OUT)\fssync-client_mt.obj \
+       $(OUT)\fssync-server_mt.obj \
+       $(OUT)\daemon_com_mt.obj \
+       $(OUT)\ntops.obj \
+       $(OUT)\nuke_mt.obj \
+       $(OUT)\partition_mt.obj \
+       $(OUT)\purge.obj \
+       $(OUT)\vnode_mt.obj \
+       $(OUT)\volume_mt.obj \
+       $(OUT)\vutil_mt.obj \
+       $(OUT)\ihandle_mt.obj \
+       $(OUT)\AFS_component_version_number.obj 
+
+$(OUT)\clone_mt.obj:clone.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\daemon_com_mt.obj:daemon_com.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\fssync-client_mt.obj:fssync-client.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\fssync-server_mt.obj:fssync-server.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\ihandle_mt.obj:ihandle.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\nuke_mt.obj:nuke.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\partition_mt.obj:partition.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\vnode_mt.obj:vnode.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\volume_mt.obj:volume.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
+$(OUT)\vutil_mt.obj:vutil.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
+
 $(LIBFILE): $(LIBOBJS)
        $(LIBARCH)
 
-
+$(MT_LIBFILE): $(MT_LIBOBJS)
+       $(LIBARCH)
 
 ############################################################################
 # External libraries
@@ -77,34 +126,53 @@ EXEC_LIBS = \
 SALVAGER = $(DESTDIR)\root.server\usr\afs\bin\salvager.exe
 
 SALVAGER_EXEOBJS =\
+       $(OUT)\salvager.obj \
        $(OUT)\vol-salvage.obj \
        $(OUT)\physio.obj \
        $(OUT)\AFS_component_version_number.obj \
        $(OUT)\salvager.res
 
 $(SALVAGER): $(SALVAGER_EXEOBJS) $(EXEC_LIBS)
-       $(EXECONLINK)
+       $(EXECONLINK) shell32.lib
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
+        $(CODESIGN_USERLAND)
+
 
+############################################################################
+# build fssync-debug
+FSSYNC_DEBUG = $(DESTDIR)\root.server\usr\afs\bin\fssync-debug.exe
+
+FSSYNC_DEBUG_EXEOBJS =\
+       $(OUT)\fssync-debug.obj \
+       $(OUT)\AFS_component_version_number.obj \
+       $(OUT)\fssync-debug.res
+
+$(FSSYNC_DEBUG): $(FSSYNC_DEBUG_EXEOBJS) $(EXEC_LIBS)
+       $(EXECONLINK) shell32.lib
+        $(_VC_MANIFEST_EMBED_EXE)
+       $(EXEPREP)
+        $(CODESIGN_USERLAND)
 
 ############################################################################
 # build volinfo
 VOLINFO = $(DESTDIR)\root.server\usr\afs\bin\volinfo.exe
 
 $(VOLINFO): $(OUT)\vol-info.obj $(OUT)\physio.obj $(OUT)\volinfo.res $(EXEC_LIBS)
-       $(EXECONLINK)
+       $(EXECONLINK) shell32.lib
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
+        $(CODESIGN_USERLAND)
 
 ############################################################################
 # build volinfo
 VOLBLESS = $(DESTDIR)\root.server\usr\afs\bin\vol-bless.exe
 
 $(VOLBLESS): $(OUT)\vol-bless.obj $(OUT)\physio.obj $(OUT)\vol-bless.res $(EXEC_LIBS)
-       $(EXECONLINK)
+       $(EXECONLINK) shell32.lib
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
+        $(CODESIGN_USERLAND)
 
 ############################################################################
 # generate versioninfo resources
@@ -114,7 +182,7 @@ $(OUT)\volinfo.res: AFS_component_version_number.h
 
 ############################################################################
 # Install targets
-install: $(INCFILES) $(LIBFILE) $(SALVAGER) $(VOLINFO) 
+install: $(INCFILES) $(LIBFILE) $(MT_LIBFILE) $(SALVAGER) $(VOLINFO) 
 
 mkdir: