NTMakefile revision 1.1.1.1.6.1 1 1.1 elric ########################################################################
2 1.1 elric #
3 1.1 elric # Copyright (c) 2009, Secure Endpoints Inc.
4 1.1 elric # All rights reserved.
5 1.1 elric #
6 1.1 elric # Redistribution and use in source and binary forms, with or without
7 1.1 elric # modification, are permitted provided that the following conditions
8 1.1 elric # are met:
9 1.1 elric #
10 1.1 elric # - Redistributions of source code must retain the above copyright
11 1.1 elric # notice, this list of conditions and the following disclaimer.
12 1.1 elric #
13 1.1 elric # - Redistributions in binary form must reproduce the above copyright
14 1.1 elric # notice, this list of conditions and the following disclaimer in
15 1.1 elric # the documentation and/or other materials provided with the
16 1.1 elric # distribution.
17 1.1 elric #
18 1.1 elric # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 1.1 elric # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 1.1 elric # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 1.1 elric # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 1.1 elric # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 1.1 elric # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 1.1 elric # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 1.1 elric # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 1.1 elric # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 1.1 elric # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 1.1 elric # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 1.1 elric # POSSIBILITY OF SUCH DAMAGE.
30 1.1 elric #
31 1.1 elric
32 1.1 elric RELDIR=lib\hdb
33 1.1 elric
34 1.1 elric !include ../../windows/NTMakefile.w32
35 1.1 elric
36 1.1 elric gen_files_hdb = $(OBJ)\asn1_hdb_asn1.x
37 1.1 elric
38 1.1 elric $(gen_files_hdb) $(OBJ)\hdb_asn1.hx $(OBJ)\hdb_asn1-priv.hx: $(BINDIR)\asn1_compile.exe hdb.asn1
39 1.1 elric cd $(OBJ)
40 1.1.1.1.6.1 snj $(BINDIR)\asn1_compile.exe --sequence=HDB-Ext-KeySet --sequence=Keys --one-code-file $(SRCDIR)\hdb.asn1 hdb_asn1
41 1.1 elric cd $(SRCDIR)
42 1.1 elric
43 1.1 elric $(gen_files_hdb:.x=.c): $$(@R).x
44 1.1 elric
45 1.1 elric !ifdef OPENLDAP_MODULE
46 1.1 elric
47 1.1 elric ldap_dll = $(BINDIR)\hdb_ldap.dll
48 1.1 elric ldap_lib = $(LIBDIR)\hdb_ldap.lib
49 1.1 elric ldap_objs = $(OBJ)\hdb-ldap.obj
50 1.1 elric
51 1.1 elric $(ldap_dll): $(ldap_objs)
52 1.1 elric $(DLLGUILINK) -implib:$(ldap_lib)
53 1.1 elric $(DLLPREP)
54 1.1 elric
55 1.1 elric clean::
56 1.1 elric -$(RM) $(ldap_dll)
57 1.1 elric -$(RM) $(ldap_lib)
58 1.1 elric
59 1.1 elric !else
60 1.1 elric
61 1.1 elric ldap = $(OBJ)\hdb-ldap.obj
62 1.1 elric ldap_c = hdb-ldap.c
63 1.1 elric
64 1.1 elric !endif
65 1.1 elric
66 1.1 elric dist_libhdb_la_SOURCES = \
67 1.1 elric common.c \
68 1.1 elric db.c \
69 1.1 elric db3.c \
70 1.1 elric ext.c \
71 1.1 elric $(ldap_c) \
72 1.1 elric hdb.c \
73 1.1 elric hdb-sqlite.c \
74 1.1 elric hdb-keytab.c \
75 1.1 elric hdb-mitdb.c \
76 1.1.1.1.6.1 snj hdb-mdb.c \
77 1.1 elric hdb_locl.h \
78 1.1 elric keys.c \
79 1.1 elric keytab.c \
80 1.1 elric dbinfo.c \
81 1.1 elric mkey.c \
82 1.1 elric ndbm.c \
83 1.1 elric print.c
84 1.1 elric
85 1.1 elric libhdb_OBJs = \
86 1.1 elric $(OBJ)\common.obj \
87 1.1 elric $(OBJ)\db.obj \
88 1.1 elric $(OBJ)\db3.obj \
89 1.1 elric $(OBJ)\ext.obj \
90 1.1 elric $(ldap) \
91 1.1 elric $(OBJ)\hdb.obj \
92 1.1 elric $(OBJ)\hdb-sqlite.obj \
93 1.1 elric $(OBJ)\hdb-keytab.obj \
94 1.1 elric $(OBJ)\hdb-mitdb.obj \
95 1.1 elric $(OBJ)\keys.obj \
96 1.1 elric $(OBJ)\keytab.obj \
97 1.1 elric $(OBJ)\dbinfo.obj \
98 1.1 elric $(OBJ)\mkey.obj \
99 1.1 elric $(OBJ)\ndbm.obj \
100 1.1 elric $(OBJ)\print.obj \
101 1.1 elric $(gen_files_hdb:.x=.obj) \
102 1.1 elric $(OBJ)\hdb_err.obj
103 1.1 elric
104 1.1 elric $(OBJ)\hdb_err.c $(OBJ)\hdb_err.h: hdb_err.et
105 1.1 elric cd $(OBJ)
106 1.1 elric $(BINDIR)\compile_et.exe $(SRCDIR)\hdb_err.et
107 1.1 elric cd $(SRCDIR)
108 1.1 elric
109 1.1 elric $(OBJ)\hdb-protos.h: $(dist_libhdb_la_SOURCES)
110 1.1 elric $(PERL) ../../cf/make-proto.pl -q -P remove -o $@ $(dist_libhdb_la_SOURCES) \
111 1.1 elric || $(RM) $@
112 1.1 elric
113 1.1 elric $(OBJ)\hdb-private.h: $(dist_libhdb_la_SOURCES)
114 1.1 elric $(PERL) ../../cf/make-proto.pl -q -P remote -p $@ $(dist_libhdb_la_SOURCES) \
115 1.1 elric || $(RM) $@
116 1.1 elric
117 1.1 elric INCFILES= \
118 1.1 elric $(INCDIR)\hdb.h \
119 1.1 elric $(INCDIR)\hdb-protos.h \
120 1.1 elric $(OBJ)\hdb-private.h \
121 1.1 elric $(INCDIR)\hdb_err.h \
122 1.1 elric $(INCDIR)\hdb_asn1.h \
123 1.1 elric $(INCDIR)\hdb_asn1-priv.h
124 1.1 elric
125 1.1 elric !ifndef STATICLIBS
126 1.1 elric
127 1.1 elric RES=$(OBJ)\libhdb-version.res
128 1.1 elric
129 1.1 elric $(LIBHDB): $(BINDIR)\libhdb.dll
130 1.1 elric
131 1.1.1.1.6.1 snj $(BINDIR)\libhdb.dll: $(libhdb_OBJs) $(ldap_lib) $(LIBHEIMBASE) $(LIBHEIMDAL) $(LIBSQLITE) $(LIBCOMERR) $(LIBROKEN) $(RES)
132 1.1 elric $(DLLGUILINK) -def:libhdb-exports.def -implib:$(LIBHDB)
133 1.1.1.1.6.1 snj $(DLLPREP_NODIST)
134 1.1 elric
135 1.1 elric clean::
136 1.1 elric -$(RM) $(BINDIR)\libhdb.*
137 1.1 elric
138 1.1 elric !else
139 1.1 elric
140 1.1 elric $(LIBHDB): $(libhdb_OBJs) $(ldap_lib)
141 1.1 elric $(LIBCON)
142 1.1 elric
143 1.1 elric !endif
144 1.1 elric
145 1.1 elric all:: $(INCFILES) $(LIBHDB)
146 1.1 elric
147 1.1 elric clean::
148 1.1 elric -$(RM) $(INCFILES)
149 1.1 elric -$(RM) $(LIBHDB)
150 1.1 elric
151 1.1 elric test:: test-binaries test-run
152 1.1 elric
153 1.1.1.1.6.1 snj test-binaries: $(OBJ)\test_dbinfo.exe $(OBJ)\test_hdbkeys.exe $(OBJ)\test_hdbplugin.exe
154 1.1 elric
155 1.1 elric $(OBJ)\test_dbinfo.exe: $(OBJ)\test_dbinfo.obj $(LIBHDB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
156 1.1 elric $(EXECONLINK)
157 1.1 elric $(EXEPREP_NODIST)
158 1.1 elric
159 1.1 elric $(OBJ)\test_hdbkeys.exe: $(OBJ)\test_hdbkeys.obj $(LIBHDB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
160 1.1 elric $(EXECONLINK)
161 1.1 elric $(EXEPREP_NODIST)
162 1.1 elric
163 1.1.1.1.6.1 snj $(OBJ)\test_hdbplugin.exe: $(OBJ)\test_hdbplugin.obj $(LIBHDB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS)
164 1.1.1.1.6.1 snj $(EXECONLINK)
165 1.1.1.1.6.1 snj $(EXEPREP_NODIST)
166 1.1.1.1.6.1 snj
167 1.1 elric test-run:
168 1.1 elric cd $(OBJ)
169 1.1.1.1.6.1 snj -test_dbinfo.exe
170 1.1.1.1.6.1 snj -test_hdbkeys.exe
171 1.1.1.1.6.1 snj -test_hdbplugin.exe
172 1.1 elric cd $(SRCDIR)
173 1.1 elric
174 1.1 elric !ifdef OPENLDAP_INC
175 1.1 elric openldap_inc_flag=-I$(OPENLDAP_INC)
176 1.1 elric !else
177 1.1 elric openldap_inc_flag=
178 1.1 elric !endif
179 1.1 elric
180 1.1 elric hdb_cflags=$(openldap_inc_flag) -I$(OBJ)
181 1.1 elric
182 1.1 elric {}.c{$(OBJ)}.obj::
183 1.1 elric $(C2OBJ_P) $(hdb_cflags) -DASN1_LIB
184 1.1 elric
185 1.1 elric {$(OBJ)}.c{$(OBJ)}.obj::
186 1.1 elric $(C2OBJ_P) $(hdb_cflags)
187 1.1 elric
188 1.1 elric test-exports:
189 1.1 elric $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libhdb-exports.def
190 1.1 elric
191 1.1 elric test:: test-exports
192