s4:torture: Adapt KDC canon test to Heimdal upstream changes
[samba.git] / source4 / heimdal / 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-atomics.h    \
42         $(INCDIR)\heimbase-svc.h        \
43         $(INCDIR)\heim_err.h            \
44         $(INCDIR)\common_plugin.h
45
46 test_binaries = $(OBJ)\test_base.exe
47
48 libheimbase_SOURCES =           \
49         array.c                 \
50         bool.c                  \
51         bsearch.c               \
52         config_file.c           \
53         config_reg.c            \
54         context.c               \
55         data.c                  \
56         db.c                    \
57         dict.c                  \
58         dll.c                   \
59         error.c                 \
60         error_string.c          \
61         expand_path.c           \
62         heimbase.c              \
63         json.c                  \
64         log.c                   \
65         null.c                  \
66         number.c                \
67         plugin.c                \
68         string.c                \
69         warn.c
70
71 libheimbase_OBJS =              \
72         $(OBJ)\array.obj        \
73         $(OBJ)\bool.obj         \
74         $(OBJ)\bsearch.obj      \
75         $(OBJ)\config_file.obj  \
76         $(OBJ)\config_reg.obj   \
77         $(OBJ)\context.obj      \
78         $(OBJ)\data.obj         \
79         $(OBJ)\db.obj           \
80         $(OBJ)\dict.obj         \
81         $(OBJ)\dll.obj          \
82         $(OBJ)\error.obj        \
83         $(OBJ)\error_string.obj \
84         $(OBJ)\expand_path.obj  \
85         $(OBJ)\heimbase.obj     \
86         $(OBJ)\json.obj         \
87         $(OBJ)\log.obj          \
88         $(OBJ)\null.obj         \
89         $(OBJ)\number.obj       \
90         $(OBJ)\plugin.obj       \
91         $(OBJ)\string.obj       \
92         $(OBJ)\warn.obj
93
94 libheimbase_gen_OBJS= $(OBJ)\heim_err.obj
95
96 $(LIBHEIMBASE): $(libheimbase_OBJS) $(libheimbase_gen_OBJS)
97         $(LIBCON_C) -OUT:$@ $(LIBROKEN) $(LIBCOMERR) $(PTHREAD_LIB) Secur32.lib Shell32.lib Advapi32.lib Shlwapi.lib @<<
98 $(libheimbase_OBJS: =
99 )
100 $(libheimbase_gen_OBJS: =
101 )
102 <<
103
104 $(OBJ)\heimbase-protos.h: $(libheimbase_SOURCES)
105         $(PERL) ..\..\cf\make-proto.pl -E KRB5_LIB -q -P remove -o $(OBJ)\heimbase-protos.h $(libheimbase_SOURCES) || $(RM) -f $(OBJ)\heimbase-protos.h
106
107 $(OBJ)\heimbase-private.h: $(libheimbase_SOURCES)
108         $(PERL) ..\..\cf\make-proto.pl -q -P remove -p $(OBJ)\heimbase-private.h $(libheimbase_SOURCES) || $(RM) -f $(OBJ)\heimbase-private.h
109
110 $(OBJ)\heim_err.c $(OBJ)\heim_err.h: heim_err.et
111         cd $(OBJ)
112         $(BINDIR)\compile_et.exe $(SRCDIR)\heim_err.et
113         cd $(SRCDIR)
114
115 test:: test-binaries test-run
116
117 test-run:
118         cd $(OBJ)
119         -test_base.exe
120         cd $(SRCDIR)
121
122 all:: $(INCFILES) $(LIBHEIMBASE)
123
124 clean::
125         -$(RM) $(INCFILES)
126
127 test-binaries: $(test_binaries)
128
129 $(test_binaries): $$(@R).obj $(LIBHEIMBASE) $(LIBVERS) $(LIBROKEN)
130         $(EXECONLINK)
131         $(EXEPREP_NODIST)
132
133 $(test_binaries:.exe=.obj): $$(@B).c
134         $(C2OBJ_C) -Fo$@ -Fd$(@D)\ $** -DBlah