Improve Windows Build System By Using MT-safe Versions of Libraries
[openafs.git] / src / util / NTMakefile
index 0d25e0c..6cd9063 100644 (file)
@@ -7,6 +7,7 @@
 
 # General AFS utilities.
 
+RELDIR=util
 !INCLUDE ..\config\NTMakefile.$(SYS_NAME)
 
 INCFILEDIR = $(DESTDIR)\include\afs  # header file install directory
@@ -18,42 +19,100 @@ INCFILES =\
        $(INCFILEDIR)\errors.h \
        $(INCFILEDIR)\itc.h \
        $(INCFILEDIR)\vice.h \
+        $(INCFILEDIR)\netutils.h \
        $(INCFILEDIR)\pthread_glock.h \
        $(INCFILEDIR)\pthread_nosigs.h \
        $(INCFILEDIR)\errmap_nt.h \
        $(INCFILEDIR)\dirpath.h \
        $(INCFILEDIR)\ktime.h \
        $(INCFILEDIR)\fileutil.h \
-       $(INCFILEDIR)\secutil_nt.h
+       $(INCFILEDIR)\afsutil_prototypes.h \
+       $(INCFILEDIR)\secutil_nt.h \
+        $(INCFILEDIR)\softsig.h
 
 $(DESTDIR)\include\afs\dirent.h: dirent_nt.h
        $(COPY) $** $@
 
+$(DESTDIR)\include\afs\dirpath.h: dirpath_nt.h
+       $(COPY) $** $@
+
 LIBFILE = $(DESTDIR)\lib\afs\afsutil.lib
 
+MT_LIBFILE = $(DESTDIR)\lib\afs\mtafsutil.lib
+
 LIBOBJS = \
-       assert.obj \
-       base32.obj \
-       casestrcpy.obj \
-       get_krbrlm.obj \
-       hostparse.obj \
-       isathing.obj \
-       kreltime.obj \
-       ktime.obj \
-       regex.obj \
-       readdir_nt.obj \
-       serverLog.obj \
-       uuid.obj \
-       volparse.obj \
-       winsock_nt.obj \
-       errmap_nt.obj \
-       dirpath.obj \
-       fileutil.obj \
-       secutil_nt.obj
+       $(OUT)\assert.obj \
+       $(OUT)\base32.obj \
+       $(OUT)\casestrcpy.obj \
+       $(OUT)\get_krbrlm.obj \
+       $(OUT)\hostparse.obj \
+       $(OUT)\isathing.obj \
+       $(OUT)\kreltime.obj \
+       $(OUT)\ktime.obj \
+        $(OUT)\netutils.obj \
+       $(OUT)\regex.obj \
+       $(OUT)\readdir_nt.obj \
+       $(OUT)\serverLog.obj \
+       $(OUT)\snprintf.obj \
+       $(OUT)\strlcat.obj \
+       $(OUT)\uuid.obj \
+       $(OUT)\volparse.obj \
+       $(OUT)\winsock_nt.obj \
+       $(OUT)\errmap_nt.obj \
+       $(OUT)\dirpath.obj \
+       $(OUT)\strnlen.obj \
+       $(OUT)\strlcpy.obj \
+       $(OUT)\fileutil.obj \
+       $(OUT)\secutil_nt.obj
+
+MT_LIBOBJS = \
+       $(OUT)\assert.obj \
+       $(OUT)\base32.obj \
+       $(OUT)\casestrcpy.obj \
+       $(OUT)\get_krbrlm.obj \
+       $(OUT)\hostparse.obj \
+       $(OUT)\isathing.obj \
+       $(OUT)\kreltime.obj \
+       $(OUT)\ktime.obj \
+        $(OUT)\netutils.obj \
+       $(OUT)\regex.obj \
+       $(OUT)\readdir_nt.obj \
+       $(OUT)\serverLog_mt.obj \
+       $(OUT)\snprintf.obj \
+       $(OUT)\strlcat.obj \
+       $(OUT)\uuid.obj \
+       $(OUT)\volparse.obj \
+       $(OUT)\winsock_nt.obj \
+       $(OUT)\errmap_nt.obj \
+       $(OUT)\dirpath_mt.obj \
+       $(OUT)\strnlen.obj \
+       $(OUT)\strlcpy.obj \
+       $(OUT)\fileutil.obj \
+       $(OUT)\secutil_nt.obj
+
+$(LIBOBJS): $$(@B).c
+    $(C2OBJ) $**
+
+$(OUT)\dirpath_mt.obj:dirpath.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
 
+$(OUT)\serverLog_mt.obj:serverLog.c
+       $(C2OBJ) $** -DAFS_PTHREAD_ENV
 
 $(LIBFILE): $(LIBOBJS)
        $(LIBARCH)
 
+$(MT_LIBFILE): $(MT_LIBOBJS)
+       $(LIBARCH)
+
+install_headers: $(INCFILES) 
+
+install: install_headers $(LIBOBJS) $(LIBFILE) $(MT_LIBFILE)
+
+install9x: install
+
+clean::
+       $(DEL) $(LIBFILE)
 
-install: $(INCFILES) $(LIBFILE)
+mkdir:
+