Move lib/krb5/error_string.c to lib/base/
[metze/heimdal/wip.git] / lib / base / NTMakefile
1 ########################################################################
2 #
3 # Copyright (c) 2010, Secure Endpoints Inc.
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 #
10 # - Redistributions of source code must retain the above copyright
11 #   notice, this list of conditions and the following disclaimer.
12 #
13 # - Redistributions in binary form must reproduce the above copyright
14 #   notice, this list of conditions and the following disclaimer in
15 #   the documentation and/or other materials provided with the
16 #   distribution.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 # POSSIBILITY OF SUCH DAMAGE.
30 #
31
32 RELDIR=lib\base
33
34 intcflags=-I$(SRCDIR) -I$(OBJ)
35
36 !include ../../windows/NTMakefile.w32
37
38 INCFILES=                               \
39         $(INCDIR)\heimbase.h            \
40         $(INCDIR)\heimbase-protos.h     \
41         $(INCDIR)\heimbase-svc.h        \
42         $(INCDIR)\heim_err.h            \
43         $(INCDIR)\common_plugin.h
44
45 test_binaries = $(OBJ)\test_base.exe
46
47 libheimbase_SOURCES =           \
48         array.c                 \
49         bool.c                  \
50         bsearch.c               \
51         config_file.c           \
52         config_reg.c            \
53         context.c               \
54         data.c                  \
55         db.c                    \
56         dict.c                  \
57         dll.c                   \
58         error.c                 \
59         expand_path.c           \
60         heimbase.c              \
61         json.c                  \
62         log.c                   \
63         null.c                  \
64         number.c                \
65         plugin.c                \
66         string.c                \
67         warn.c
68
69 libheimbase_OBJS =              \
70         $(OBJ)\array.obj        \
71         $(OBJ)\bool.obj         \
72         $(OBJ)\bsearch.obj      \
73         $(OBJ)\config_file.obj  \
74         $(OBJ)\config_reg.obj   \
75         $(OBJ)\context.obj      \
76         $(OBJ)\data.obj         \
77         $(OBJ)\db.obj           \
78         $(OBJ)\dict.obj         \
79         $(OBJ)\dll.obj          \
80         $(OBJ)\error.obj        \
81         $(OBJ)\expand_path.obj  \
82         $(OBJ)\heimbase.obj     \
83         $(OBJ)\json.obj         \
84         $(OBJ)\log.obj          \
85         $(OBJ)\null.obj         \
86         $(OBJ)\number.obj       \
87         $(OBJ)\plugin.obj       \
88         $(OBJ)\string.obj       \
89         $(OBJ)\warn.obj
90
91 libheimbase_gen_OBJS= $(OBJ)\heim_err.obj
92
93 $(LIBHEIMBASE): $(libheimbase_OBJS) $(libheimbase_gen_OBJS)
94         $(LIBCON_C) -OUT:$@ $(LIBROKEN) $(PTHREAD_LIB) Secur32.lib Shell32.lib Advapi32.lib Shlwapi.lib @<<
95 $(libheimbase_OBJS: =
96 )
97 $(libheimbase_gen_OBJS: =
98 )
99 <<
100
101 $(OBJ)\heimbase-protos.h: $(libheimbase_SOURCES)
102         $(PERL) ..\..\cf\make-proto.pl -E KRB5_LIB -q -P remove -o $(OBJ)\heimbase-protos.h $(libheimbase_SOURCES) || $(RM) -f $(OBJ)\heimbase-protos.h
103
104 $(OBJ)\heimbase-private.h: $(libheimbase_SOURCES)
105         $(PERL) ..\..\cf\make-proto.pl -q -P remove -p $(OBJ)\heimbase-private.h $(libheimbase_SOURCES) || $(RM) -f $(OBJ)\heimbase-private.h
106
107 $(OBJ)\heim_err.c $(OBJ)\heim_err.h: heim_err.et
108         cd $(OBJ)
109         $(BINDIR)\compile_et.exe $(SRCDIR)\heim_err.et
110         cd $(SRCDIR)
111
112 test:: test-binaries test-run
113
114 test-run:
115         cd $(OBJ)
116         -test_base.exe
117         cd $(SRCDIR)
118
119 all:: $(INCFILES) $(LIBHEIMBASE)
120
121 clean::
122         -$(RM) $(INCFILES)
123
124 test-binaries: $(test_binaries)
125
126 $(test_binaries): $$(@R).obj $(LIBHEIMBASE) $(LIBVERS) $(LIBROKEN)
127         $(EXECONLINK)
128         $(EXEPREP_NODIST)
129
130 $(test_binaries:.exe=.obj): $$(@B).c
131         $(C2OBJ_C) -Fo$@ -Fd$(@D)\ $** -DBlah