]> granicus.if.org Git - apache/blob - modules/ldap/NWGNUmakefile
Implement a BASEDIR build environment variable to allow the NetWare build to relocate...
[apache] / modules / ldap / NWGNUmakefile
1 #
2 # Make sure all needed macro's are defined
3 #
4
5 #
6 # Get the 'head' of the build environment if necessary.  This includes default
7 # targets and paths to tools
8 #
9
10 ifndef EnvironmentDefined
11 include $(AP_WORK)\build\NWGNUhead.inc
12 endif
13
14 #
15 # These directories will be at the beginning of the include list, followed by
16 # INCDIRS
17 #
18 XINCDIRS        += \
19                         $(AP_WORK)/include \
20                         $(NWOS) \
21                         $(APR)/include \
22                         $(APRUTIL)/include \
23                         $(APR) \
24                         $(LDAPSDK)/inc \
25                         $(EOLIST)
26
27 #
28 # These flags will come after CFLAGS
29 #
30 XCFLAGS         += \
31                         -prefix pre_nw.h \
32                         $(EOLIST)
33
34 #
35 # These defines will come after DEFINES
36 #
37 XDEFINES        += \
38                         $(EOLIST)
39
40 #
41 #LDAP client requires the use of Winsock
42 #
43 ifdef USE_STDSOCKETS
44 XDEFINES += -DUSE_WINSOCK \
45                         $(EOLIST)
46 endif
47
48 #
49 # These flags will be added to the link.opt file
50 #
51 XLFLAGS         += \
52                         $(EOLIST)
53
54 #
55 # These values will be appended to the correct variables based on the value of
56 # RELEASE
57 #
58 ifeq "$(RELEASE)" "debug"
59 XINCDIRS        += \
60                         $(EOLIST)
61
62 XCFLAGS         += \
63                         $(EOLIST)
64
65 XDEFINES        += \
66                         $(EOLIST)
67
68 XLFLAGS         += \
69                         $(EOLIST)
70 endif
71
72 ifeq "$(RELEASE)" "noopt"
73 XINCDIRS        += \
74                         $(EOLIST)
75
76 XCFLAGS         += \
77                         $(EOLIST)
78
79 XDEFINES        += \
80                         $(EOLIST)
81
82 XLFLAGS         += \
83                         $(EOLIST)
84 endif
85
86 ifeq "$(RELEASE)" "release"
87 XINCDIRS        += \
88                         $(EOLIST)
89
90 XCFLAGS         += \
91                         $(EOLIST)
92
93 XDEFINES        += \
94                         $(EOLIST)
95
96 XLFLAGS         += \
97                         $(EOLIST)
98 endif
99
100 #
101 # These are used by the link target if an NLM is being generated
102 # This is used by the link 'name' directive to name the nlm.  If left blank
103 # TARGET_nlm (see below) will be used.
104 #
105 NLM_NAME                = utilldap
106
107 #
108 # This is used by the link '-desc ' directive. 
109 # If left blank, NLM_NAME will be used.
110 #
111 NLM_DESCRIPTION = Apache $(VERSION_STR) LDAP Authentication Module
112
113 #
114 # This is used by the '-threadname' directive.  If left blank,
115 # NLM_NAME Thread will be used.
116 #
117 NLM_THREAD_NAME = UtilLDAP Module
118
119 #
120 # If this is specified, it will override VERSION value in 
121 # $(AP_WORK)\build\NWGNUenvironment.inc
122 #
123 NLM_VERSION             =
124
125 #
126 # If this is specified, it will override the default of 64K
127 #
128 NLM_STACK_SIZE  = 8192
129
130
131 #
132 # If this is specified it will be used by the link '-entry' directive
133 #
134 NLM_ENTRY_SYM   = _LibCPrelude
135
136 #
137 # If this is specified it will be used by the link '-exit' directive
138 #
139 NLM_EXIT_SYM    = _LibCPostlude
140
141 #
142 # If this is specified it will be used by the link '-check' directive
143 #
144 NLM_CHECK_SYM   =
145
146 #
147 # If these are specified it will be used by the link '-flags' directive
148 #
149 NLM_FLAGS               =  AUTOUNLOAD, PSEUDOPREEMPTION
150
151 #
152 # If this is specified it will be linked in with the XDCData option in the def 
153 # file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
154 # by setting APACHE_UNIPROC in the environment
155 #
156 XDCDATA         = 
157
158 #
159 # If there is an NLM target, put it here
160 #
161 TARGET_nlm = \
162         $(OBJDIR)/utilldap.nlm \
163         $(EOLIST)
164
165 #
166 # If there is an LIB target, put it here
167 #
168 TARGET_lib = \
169         $(EOLIST)
170
171 #
172 # These are the OBJ files needed to create the NLM target above.
173 # Paths must all use the '/' character
174 #
175 FILES_nlm_objs = \
176         $(OBJDIR)/util_ldap.o \
177         $(OBJDIR)/util_ldap_cache.o \
178         $(OBJDIR)/util_ldap_cache_mgr.o \
179         $(EOLIST)
180
181 #
182 # These are the LIB files needed to create the NLM target above.
183 # These will be added as a library command in the link.opt file.
184 #
185 FILES_nlm_libs = \
186         libcpre.o \
187         $(EOLIST)
188
189 #
190 # These are the modules that the above NLM target depends on to load.
191 # These will be added as a module command in the link.opt file.
192 #
193 FILES_nlm_modules = \
194         aprlib \
195         libc \
196         lldapsdk \
197         lldapssl \
198         $(EOLIST)
199
200 #
201 # If the nlm has a msg file, put it's path here
202 #
203 FILE_nlm_msg =
204  
205 #
206 # If the nlm has a hlp file put it's path here
207 #
208 FILE_nlm_hlp =
209
210 #
211 # If this is specified, it will override $(NWOS)\copyright.txt.
212 #
213 FILE_nlm_copyright =
214
215 #
216 # Any additional imports go here
217 #
218 FILES_nlm_Ximports = \
219         @$(APR)/aprlib.imp \
220         @$(NWOS)/httpd.imp \
221         @libc.imp \
222         @$(LDAPSDK)/imports/lldapsdk.imp \
223         @$(LDAPSDK)/imports/lldapssl.imp \
224         $(EOLIST)
225  
226 #   
227 # Any symbols exported to here
228 #
229 FILES_nlm_exports = \
230         ldap_module \
231         $(EOLIST)
232         
233 #   
234 # These are the OBJ files needed to create the LIB target above.
235 # Paths must all use the '/' character
236 #
237 FILES_lib_objs = \
238                 $(EOLIST)
239
240 #
241 # implement targets and dependancies (leave this section alone)
242 #
243
244 libs :: $(OBJDIR) $(TARGET_lib)
245
246 nlms :: libs $(TARGET_nlm)
247
248 #
249 # Updated this target to create necessary directories and copy files to the 
250 # correct place.  (See $(AP_WORK)\build\NWGNUhead.inc for examples)
251 #
252 install :: nlms FORCE
253         copy $(OBJDIR)\*.nlm $(INSTALL)\$(BASEDIR)\modules\*.*
254
255 #
256 # Any specialized rules here
257 #
258
259 #
260 # Include the 'tail' makefile that has targets that depend on variables defined
261 # in this makefile
262 #
263
264 include $(AP_WORK)\build\NWGNUtail.inc
265