Windows: export roken allocators
[openafs.git] / src / roken / NTMakefile
1 # Copyright 2010, Your File System Inc
2 # All rights reserved
3 #
4 # This software has been released under the terms of the BSD License
5 # For details, see the LICENSE file in the top level source directory
6
7 RELDIR=roken
8 !include ..\config\NTMakefile.$(SYS_NAME)
9 !include ..\config\NTMakefile.version
10 AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -DHAVE_CONFIG_H=1
11
12 ROKEN = $(SRC)\external\heimdal\roken
13
14 INCFILEDIR = $(DESTDIR)\include
15
16 INCFILES = \
17         $(INCFILEDIR)\err.h \
18         $(INCFILEDIR)\roken.h \
19         $(INCFILEDIR)\search.h
20
21 ROKEN_INCFILES = \
22         $(INCFILEDIR)\roken-common.h \
23         $(INCFILEDIR)\base64.h
24
25 LIBFILE = $(DESTDIR)\lib\afsroken.dll
26
27 ROKEN_OBJS = \
28         $(OUT)\base64.obj \
29         $(OUT)\cloexec.obj \
30         $(OUT)\ct.obj \
31         $(OUT)\ecalloc.obj \
32         $(OUT)\emalloc.obj \
33         $(OUT)\erealloc.obj \
34         $(OUT)\err.obj \
35         $(OUT)\errx.obj \
36         $(OUT)\flock.obj \
37         $(OUT)\getopt.obj \
38         $(OUT)\getprogname.obj \
39         $(OUT)\gettimeofday.obj \
40         $(OUT)\hex.obj \
41         $(OUT)\issuid.obj \
42         $(OUT)\localtime_r.obj \
43         $(OUT)\mkstemp.obj \
44         $(OUT)\net_read.obj \
45         $(OUT)\net_write.obj \
46         $(OUT)\realloc.obj \
47         $(OUT)\setprogname.obj \
48         $(OUT)\snprintf.obj \
49         $(OUT)\socket.obj \
50         $(OUT)\strerror_r.obj \
51         $(OUT)\strlcat.obj \
52         $(OUT)\strlcpy.obj \
53         $(OUT)\strnlen.obj \
54         $(OUT)\strsep.obj \
55         $(OUT)\tsearch.obj \
56         $(OUT)\verr.obj \
57         $(OUT)\verrx.obj \
58         $(OUT)\vwarn.obj \
59         $(OUT)\vwarnx.obj \
60         $(OUT)\warn.obj \
61         $(OUT)\warnerr.obj \
62         $(OUT)\warnx.obj \
63         $(OUT)\win32_alloc.obj
64
65 $(ROKEN_OBJS):$(ROKEN)\$$(@B).c
66         $(C2OBJ) $** -I$(ROKEN)
67
68 $(ROKEN_INCFILES):$(ROKEN)\$$(@B).h
69         $(COPY) $** $(INCFILEDIR)
70
71 $(INCFILES):$$(@B).h
72         $(COPY) $** $(INCFILEDIR)
73
74 RESFILE = $(OUT)\afsroken.res
75
76 $(RESFILE): afsroken.rc AFS_component_version_number.h
77
78 roken.h: $(ROKEN)\roken.h.in
79         $(COPY) $** $@
80
81 err.h: $(ROKEN)\err.hin
82         $(COPY) $** $@
83
84 search.h: $(ROKEN)\search.hin
85         $(COPY) $** $@
86
87 !if !defined(NMAKE)
88 NTMAKE = nmake /nologo /f ntmakefile
89 !endif
90
91 DLLLIBS = \
92 #       $(DESTDIR)\lib\afs\afsreg.lib
93
94 $(LIBFILE): $(ROKEN_OBJS) $(RESFILE) $(DLLLIBS)
95         $(DLLCONLINK) /DEF:afsroken.def shell32.lib
96         $(_VC_MANIFEST_EMBED_DLL)
97         $(DLLPREP)
98         $(CODESIGN_USERLAND)
99         $(SYMSTORE_IMPORT)
100         $(MAKECYGLIB) --input-def afsroken.def
101
102 # Definitions for generating versioninfo resources
103 $(OUT)\afsroken.res: AFS_component_version_number.h
104
105 install_headers: $(INCFILES) $(ROKEN_INCFILES)
106
107 install: install_headers $(LIBFILE)
108
109 clean::
110         $(DEL) $(INCFILES)
111         $(DEL) err.h roken.h
112         $(DEL) $(LIBFILE) $(DESTDIR)\lib\afsroken.lib $(DESTDIR)\lib\afsroken.exp