source: trunk/make/process.mak@ 8213

Last change on this file since 8213 was 8213, checked in by bird, 23 years ago

Added some libs. Moved extensions. Configured new modes. Splitted clean command. Moved ALP config into separate files. Made it kind of work.

File size: 13.7 KB
Line 
1# $Id: process.mak,v 1.2 2002-04-07 22:43:25 bird Exp $
2
3#
4# Unix-like tools for OS/2
5#
6# The common build process rules
7#
8# Note: this makefile is supposed to be included from the
9# current source path.
10#
11
12#
13# This makefile expects setup.mak and the specific setup to be included
14# already. Plus there are several prerequisite environment variables
15# subsystem makefiles need to set:
16# TARGET_NAME is obligatory
17
18!ifndef TARGET_NAME
19!error fatal error: TARGET_NAME is not defined!
20!endif
21
22# provide overridable defaults
23!ifndef TARGET
24TARGET=$(PATH_TARGET)\$(TARGET_NAME).$(TARGET_EXT)
25!endif
26
27!ifndef TARGET_OBJS
28TARGET_OBJS=$(PATH_TARGET)\$(TARGET_NAME).$(EXT_OBJ)
29!endif
30
31!ifndef TARGET_LIBS
32TARGET_LIBS=$(LIB_C_DLL) $(LIB_OS) $(LIB_C_RTDLL)
33!endif
34
35!ifndef TARGET_DEF
36TARGET_DEF=$(MAKEDIR)\$(PATH_DEF)\$(TARGET_NAME).def
37!endif
38
39!ifndef TARGET_IDEF
40TARGET_IDEF=$(TARGET_DEF)
41!endif
42
43!ifndef TARGET_MAP
44TARGET_MAP=$(PATH_TARGET)\$(TARGET_NAME).map
45!endif
46
47!ifndef TARGET_LNK
48TARGET_LNK=$(PATH_TARGET)\$(TARGET_NAME).lnk
49!endif
50
51!ifndef TARGET_MODE
52TARGET_MODE=EXE
53!endif
54
55!ifndef TARGET_EXT
56!if "$(TARGET_MODE)" == "CRT" || "$(TARGET_MODE)" == "DLL"
57TARGET_EXT=$(EXT_DLL)
58!endif
59!if "$(TARGET_MODE)" == "SYS"
60TARGET_EXT=$(EXT_SYS)
61!endif
62!if "$(TARGET_MODE)" == "EXE"
63TARGET_EXT=$(EXT_EXE)
64!endif
65!if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" || "$(TARGET_MODE)" == "SYSLIB"
66TARGET_EXT=$(EXT_LIB)
67!endif
68!if "$(TARGET_MODE)" == "EMPTY"
69TARGET_EXT=empty
70!endif
71!ifndef TARGET_EXT
72!error Error: TARGET_EXT not set
73!endif
74!endif
75
76!ifndef TARGET_ILIB
77!if "$(TARGET_MODE)" == "CRT" || "$(TARGET_MODE)" == "DLL"
78TARGET_ILIB=$(PATH_LIB)\$(TARGET_NAME).$(EXT_ILIB)
79!endif
80!endif
81
82!if "$(TARGET_MODE)" == "PUBLIB"
83TARGET_PUBLIB=$(PATH_LIB)\$(TARGET_NAME).$(TARGET_EXT)
84!else
85TARGET_PUBLIB=
86!endif
87
88
89!ifndef TARGET_STACKSIZE
90# check if 16-bit target compiler
91! if "$(BUILD_ENV)" == "MSCV6"
92TARGET_STACKSIZE=0x2000
93! else
94TARGET_STACKSIZE=0x10000
95! endif
96!endif
97
98!ifndef MAKEFILE
99MAKEFILE = makefile
100!endif
101
102
103# ensure the platform-specific target path exists
104PATH_TARGET=$(PATH_OBJ)\$(TARGET_NAME).$(TARGET_EXT)
105!if "$(PATH_TARGET)" != ""
106! if [$(TOOL_EXISTS) $(PATH_TARGET)] != 0
107! if [$(ECHO) Target path $(CLRFIL)$(PATH_TARGET)$(CLRTXT) does NOT exist. Creating. $(CLRRST)]
108! endif
109! if [$(TOOL_CREATEPATH) $(PATH_TARGET)]
110! error Could not create $(PATH_TARGET)
111! endif
112! endif
113!endif
114
115
116# Tell user what we're building.
117!if [$(ECHO) Target is $(CLRFIL)$(TARGET)$(CLRRST)]
118!endif
119
120
121# build the target filenames
122BUILD_TARGET_DEPEND=$(PATH_TARGET)\.depend
123
124
125# ----------------------
126# common inference rules
127# ----------------------
128
129.SUFFIXES:
130.SUFFIXES: .$(EXT_OBJ) .c .cpp .asm .$(EXT_RES) .rc .pre-c .pre-cpp # .h .def
131
132
133# Assembling assembly source.
134.asm{$(PATH_TARGET)}.$(EXT_OBJ):
135 @$(ECHO) Assembling $(CLRFIL)$< $(CLRRST)
136!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
137 @$(AS) $(AS_FLAGS_SYS) $< $(AS_OBJ_OUT)$@
138!else
139 @$(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$@
140!endif
141
142.asm.$(EXT_OBJ):
143 @$(ECHO) Assembling $(CLRFIL)$< $(CLRRST)
144!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
145 @$(AS) $(AS_FLAGS_SYS) $< $(AS_OBJ_OUT)$(PATH_TARGET)\$(@F)
146!else
147 @$(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$(PATH_TARGET)\$(@F)
148!endif
149
150
151# Compiling C++ source.
152.cpp{$(PATH_TARGET)}.$(EXT_OBJ):
153 @$(ECHO) C++ Compiler $(CLRFIL)$< $(CLRRST)
154 @$(CXX) \
155!if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB"
156 $(CXX_FLAGS_EXE) \
157!endif
158!if "$(TARGET_MODE)" == "CRT"
159 $(CXX_FLAGS_CRT) \
160!endif
161!if "$(TARGET_MODE)" == "DLL"
162 $(CXX_FLAGS_DLL) \
163!endif
164!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB"
165 $(CXX_FLAGS_SYS) \
166!endif
167!if "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
168 $(CXX_FLAGS_IFS) \
169!endif
170!ifdef CXX_LST_OUT
171 $(CXX_LST_OUT)$(PATH_TARGET)\$(@B).s \
172!endif
173 $(CXX_OBJ_OUT)$@ $<
174
175.cpp.$(EXT_OBJ):
176 @$(ECHO) C++ Compiler $(CLRFIL)$< $(CLRRST)
177 @$(CXX) \
178!if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB"
179 $(CXX_FLAGS_EXE) \
180!endif
181!if "$(TARGET_MODE)" == "CRT"
182 $(CXX_FLAGS_CRT) \
183!endif
184!if "$(TARGET_MODE)" == "DLL"
185 $(CXX_FLAGS_DLL) \
186!endif
187!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB"
188 $(CXX_FLAGS_SYS) \
189!endif
190!if "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
191 $(CXX_FLAGS_IFS) \
192!endif
193!ifdef CXX_LST_OUT
194 $(CXX_LST_OUT)$(PATH_TARGET)\$(@B).s \
195!endif
196 $(CXX_OBJ_OUT)$(PATH_TARGET)\$(@F) $<
197
198
199# Pre-Compiling C++ source.
200.cpp.pre-cpp:
201 @$(ECHO) C++ Compiler $(CLRFIL)$< $(CLRRST)
202 @$(CXX) \
203!if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB"
204 $(CXX_FLAGS_EXE) \
205!endif
206!if "$(TARGET_MODE)" == "CRT"
207 $(CXX_FLAGS_CRT) \
208!endif
209!if "$(TARGET_MODE)" == "DLL"
210 $(CXX_FLAGS_DLL) \
211!endif
212!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB"
213 $(CXX_FLAGS_SYS) \
214!endif
215!if "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
216 $(CXX_FLAGS_IFS) \
217!endif
218 $(CXX_PC_2_STDOUT) $< > $@
219
220
221# Compiling C source.
222.c{$(PATH_TARGET)}.$(EXT_OBJ):
223 @$(ECHO) C Compiler $(CLRFIL)$< $(CLRRST)
224 @$(CC) \
225!if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB"
226 $(CC_FLAGS_EXE) \
227!endif
228!if "$(TARGET_MODE)" == "CRT"
229 $(CC_FLAGS_CRT) \
230!endif
231!if "$(TARGET_MODE)" == "DLL"
232 $(CC_FLAGS_DLL) \
233!endif
234!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB"
235 $(CC_FLAGS_SYS) \
236!endif
237!if "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
238 $(CC_FLAGS_IFS) \
239!endif
240!ifdef CC_LST_OUT
241 $(CC_LST_OUT)$(PATH_TARGET)\$(@B).s \
242!endif
243 $(CC_OBJ_OUT)$@ $<
244
245.c.$(EXT_OBJ):
246 @$(ECHO) C Compiler $(CLRFIL)$< $(CLRRST)
247 @$(CC) \
248!if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB"
249 $(CC_FLAGS_EXE) \
250!endif
251!if "$(TARGET_MODE)" == "CRT"
252 $(CC_FLAGS_CRT) \
253!endif
254!if "$(TARGET_MODE)" == "DLL"
255 $(CC_FLAGS_DLL) \
256!endif
257!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB"
258 $(CC_FLAGS_SYS) \
259!endif
260!if "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
261 $(CC_FLAGS_IFS) \
262!endif
263!ifdef CC_LST_OUT
264 $(CC_LST_OUT)$(PATH_TARGET)\$(@B).s \
265!endif
266 $(CC_OBJ_OUT)$(PATH_TARGET)\$(@F) $<
267
268
269# Pre-Compiling C source.
270.c.pre-c:
271 @$(ECHO) C PreCompiler $(CLRFIL)$< $(CLRRST)
272 @$(CC) \
273!if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB"
274 $(CC_FLAGS_EXE) \
275!endif
276!if "$(TARGET_MODE)" == "CRT"
277 $(CC_FLAGS_CRT) \
278!endif
279!if "$(TARGET_MODE)" == "DLL"
280 $(CC_FLAGS_DLL) \
281!endif
282!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB"
283 $(CC_FLAGS_SYS) \
284!endif
285!if "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
286 $(CC_FLAGS_IFS) \
287!endif
288 $(CC_PC_2_STDOUT) $< > $@
289
290
291# Compiling resources.
292.rc{$(PATH_TARGET)}.res:
293 @$(ECHO) RC Compiler $(CLRFIL)$< $(CLRRST)
294 @$(RC) $(RC_FLAGS) $< $@
295
296.rc.res:
297 @$(ECHO) RC Compiler $(CLRFIL)$< $(CLRRST)
298 @$(RC) $(RC_FLAGS) $< $(PATH_TARGET)\$(@F)
299
300
301#
302# establish root dependency
303# by removing the extension from the BUILD_TARGET
304# and replacing it with .obj
305#
306all: build
307
308
309#
310# Build the main target.
311#
312!ifdef SUBDIRS
313SUBDIRS_BUILD = subbuild
314$(SUBDIRS_BUILD):
315 @$(TOOL_DODIRS) "$(SUBDIRS)" $(TOOL_MAKE) build
316!endif
317
318!ifdef PREMAKEFILES
319PREMAKEFILES_BUILD = premakefiles_build
320$(PREMAKEFILES_BUILD):
321 @$(TOOL_DOMAKES) "$(PREMAKEFILES)" $(TOOL_MAKE) build
322!endif
323
324build: $(SUBDIRS_BUILD) $(PREMAKEFILES_BUILD) $(TARGET) $(TARGET_ILIB) $(TARGET_PUBLIB)
325 @$(ECHO) Successfully Built $(CLRFIL)$(TARGET) $(TARGET_ILIB)$(CLRRST)
326!ifdef POSTMAKEFILES
327 @$(TOOL_DOMAKES) "$(POSTMAKEFILES)" $(TOOL_MAKE) $@
328!endif
329
330
331#
332# Make Public libraries.
333#
334!ifdef SUBDIRS
335SUBDIRS_LIB = subdir_lib
336$(SUBDIRS_LIB):
337 @$(TOOL_DODIRS) "$(SUBDIRS)" $(TOOL_MAKE) lib
338!endif
339
340!ifdef PREMAKEFILES
341PREMAKEFILES_LIB = premakefiles_lib
342$(PREMAKEFILES_LIB):
343 @$(TOOL_DOMAKES) "$(PREMAKEFILES)" $(TOOL_MAKE) lib
344!endif
345
346lib: $(SUBDIRS_LIB) $(TARGET_ILIB) $(TARGET_PUBLIB)
347!ifdef POSTMAKEFILES
348 @$(TOOL_DOMAKES) "$(POSTMAKEFILES)" $(TOOL_MAKE) $@
349!endif
350
351
352#
353# Copies target to main binary directory.
354#
355install:
356!if "$(TARGET_MODE)" == "EXE"
357 if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_BIN)
358!endif
359!if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT"
360 if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_DLL)
361!endif
362!if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB"
363 if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_SYS)
364!endif
365!if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" || "$(TARGET_MODE)" == "SYSLIB"
366# if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_LIB)
367!endif
368!if "$(TARGET_DOCS)" != ""
369 $(TOOL_COPY) $(TARGET_DOCS) $(PATH_DOC)
370!endif
371!ifdef SUBDIRS
372 @$(TOOL_DODIRS) "$(SUBDIRS)" $(TOOL_MAKE) $@
373!endif
374!ifdef PREMAKEFILES
375 @$(TOOL_DOMAKES) "$(PREMAKEFILES)" $(TOOL_MAKE) $@
376!endif
377!ifdef POSTMAKEFILES
378 @$(TOOL_DOMAKES) "$(POSTMAKEFILES)" $(TOOL_MAKE) $@
379!endif
380
381
382#
383# Run evt. testcase
384#
385!ifndef BUILD_NO_TESTCASE
386testcase: install
387!if [$(TOOL_EXISTS) testcase] == 0
388 @$(TOOL_DODIRS) "testcase" $(TOOL_MAKE) $@
389!endif
390!if [$(TOOL_EXISTS) testcase.mak] == 0
391 @$(TOOL_DOMAKES) "testcase.mak" $(TOOL_MAKE) $@
392!endif
393!ifdef SUBDIRS
394 @$(TOOL_DODIRS) "$(SUBDIRS)" $(TOOL_MAKE) $@
395!endif
396!ifdef PREMAKEFILES
397 @$(TOOL_DOMAKES) "$(PREMAKEFILES)" $(TOOL_MAKE) $@
398!endif
399!ifdef POSTMAKEFILES
400 @$(TOOL_DOMAKES) "$(POSTMAKEFILES)" $(TOOL_MAKE) $@
401!endif
402!endif
403
404
405#
406# Make dependencies.
407#
408dep:
409 @$(ECHO) Building dependencies $(CLRRST)
410 @$(TOOL_DEP) $(TOOL_DEP_FLAGS) -o$$(PATH_TARGET) -d$(BUILD_TARGET_DEPEND)\
411!ifdef TARGET_NO_DEP
412 -x$(TARGET_NO_DEP: =;)\
413!endif
414 $(TOOL_DEP_FILES)
415!ifdef SUBDIRS
416 @$(TOOL_DODIRS) "$(SUBDIRS)" $(TOOL_MAKE) NODEP=1 $@
417!endif
418!ifdef PREMAKEFILES
419 @$(TOOL_DOMAKES) "$(PREMAKEFILES)" $(TOOL_MAKE) NODEP=1 $@
420!endif
421!ifdef POSTMAKEFILES
422 @$(TOOL_DOMAKES) "$(POSTMAKEFILES)" $(TOOL_MAKE) NODEP=1 $@
423!endif
424
425
426#
427# Clean up output files (not the installed ones).
428#
429clean:
430!if "$(PATH_TARGET)" != "" # paranoia
431 $(TOOL_RM) \
432 $(PATH_TARGET)\*.$(EXT_OBJ) \
433 $(PATH_TARGET)\*.$(EXT_ILIB) \
434 $(PATH_TARGET)\*.$(EXT_EXE) \
435 $(PATH_TARGET)\*.$(EXT_DLL) \
436 $(PATH_TARGET)\*.$(EXT_RES) \
437 $(PATH_TARGET)\*.$(EXT_SYS) \
438 $(PATH_TARGET)\*.$(EXT_LIB)
439 $(TOOL_RM) \
440 $(PATH_TARGET)\*.$(EXT_IFS) \
441 $(PATH_TARGET)\*.map \
442 $(PATH_TARGET)\*.s \
443 $(PATH_TARGET)\*.lst \
444 $(PATH_TARGET)\*.lnk \
445 $(PATH_TARGET)\*.pre-c \
446 $(PATH_TARGET)\*.pre-cpp \
447 $(PATH_TARGET)\.depend
448!endif
449!ifdef SUBDIRS
450 @$(TOOL_DODIRS) "$(SUBDIRS)" $(TOOL_MAKE) $@
451!endif
452!ifdef PREMAKEFILES
453 @$(TOOL_DOMAKES) "$(PREMAKEFILES)" $(TOOL_MAKE) $@
454!endif
455!ifdef POSTMAKEFILES
456 @$(TOOL_DOMAKES) "$(POSTMAKEFILES)" $(TOOL_MAKE) $@
457!endif
458
459
460#
461# EXE, DLL, SYS and IFS Targets
462#
463!if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" || "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "IFS"
464! if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT"
465TARGET_IGNORE_LINKER_WARNINGS=1
466!endif
467$(TARGET): $(TARGET_OBJS) $(TARGET_RES) $(TARGET_DEF) $(TARGET_LNK) $(TARGET_DEPS)
468 @$(ECHO) Linking $(TARGET_MODE) $(CLRFIL)$@ $(CLRRST)
469!ifdef TARGET_IGNORE_LINKER_WARNINGS
470 -4 \
471!endif
472!if "$(TARGET_MODE)" == "EXE"
473 @$(LINK_CMD_EXE)
474!endif
475!if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT"
476 @$(LINK_CMD_DLL)
477!endif
478!if "$(TARGET_MODE)" == "SYS"
479 @$(LINK_CMD_SYS)
480!endif
481!if "$(TARGET_MODE)" == "IFS"
482 @$(LINK_CMD_IFS)
483!endif
484!if "$(TARGET_RES)" != "" && "$(RL)" != ""
485 @$(ECHO) Linking Resources $(CLRRST)
486 @$(RL) $(RL_FLAGS) $(TARGET_RES) $@
487!endif
488!if "$(TARGET_DLLRNAME)" != ""
489 @$(ECHO) Dll Rename $(TARGET_DLLRNAME)
490 $(TOOL_DLLRNAME) $(TARGET) $(TARGET_DLLRNAME)
491!endif
492
493
494#
495# Linker parameter file.
496#
497$(TARGET_LNK): $(MAKE_INCLUDE_PROCESS) $(MAKE_INCLUDE_SETUP) $(PATH_MAKE)\setup.mak $(MAKEFILE)
498 @$(ECHO) Creating Linker Input File $(CLRRST)<<$@
499$(LINK_LNK1)
500$(LINK_LNK2)
501$(LINK_LNK3)
502$(LINK_LNK4)
503$(LINK_LNK5)
504<<KEEP
505
506
507#
508# DLL Import library
509#
510!ifdef TARGET_ILIB
511$(TARGET_ILIB): $(TARGET_IDEF)
512 @$(ECHO) Creating Import Library $(CLRFIL)$@ $(CLRRST)
513 $(IMPLIB) $(IMPLIB_FLAGS) $@ $(TARGET_IDEF)
514!endif
515!endif
516
517
518#
519# Lib Targets.
520#
521!if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB"
522$(TARGET): $(TARGET_OBJS) $(TARGET_LNK) $(TARGET_DEPS)
523 @$(ECHO) Creating Library $(CLRFIL)$@ $(CLRRST)
524 $(TOOL_RM) $@
525 $(AR_CMD)
526
527
528#
529# Lib parameter file.
530#
531$(TARGET_LNK): $(MAKE_INCLUDE_PROCESS) $(MAKE_INCLUDE_SETUP) $(PATH_MAKE)\setup.mak $(MAKEFILE)
532 @$(ECHO) Creating Lib Input File $(CLRRST)<<$@
533$(AR_LNK1)
534$(AR_LNK2)
535$(AR_LNK3)
536$(AR_LNK4)
537$(AR_LNK5)
538<<KEEP
539!endif
540
541
542#
543# Copy rule for public libraries.
544#
545!if "$(TARGET_MODE)" == "PUBLIB"
546$(TARGET_PUBLIB): $(TARGET)
547 @$(ECHO) Copying $(CLRFIL)$(TARGET)$(CLRTXT) to the Library Directory $(CLRRST)
548 @$(TOOL_COPY) $** $@
549!endif
550
551
552#
553# Empty target.
554#
555!if "$(TARGET_MODE)" == "EMPTY"
556$(TARGET):
557 @$(ECHO) .
558!endif
559
560
561#
562# read dependency file from current directory
563#
564!if "$(TARGET_MODE)" != "EMPTY"
565! if [$(TOOL_EXISTS) $(BUILD_TARGET_DEPEND)] == 0
566! if [$(ECHO) Including dependency $(CLRFIL)$(BUILD_TARGET_DEPEND)$(CLRRST)]
567! endif
568! include $(BUILD_TARGET_DEPEND)
569! else
570! ifndef NODEP
571! if [$(ECHO) $(CLRERR)WARNING: Please make dependencies first. $(BUILD_TARGET_DEPEND) is missing.$(CLRRST)]
572! endif
573! endif
574! endif
575!endif
576
577
578#
579# Force rule.
580#
581.force:
582 @$(ECHO) .
583
Note: See TracBrowser for help on using the repository browser.