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