1 <%foreach(platform)%><%comment(there can't be more than one active platform but using a foreach allows platform settings to be grouped in scopes in the mpt files)%># The file ".wrmakefile" is the template used by the Wind River Workbench to
2 # generate the makefiles of this project. Add user-specific build targets and
3 # make rules only(!) in this project's ".wrmakefile" file. These will then be
4 # automatically dumped into the makefiles.
6 WIND_HOME := $(subst \,/,$(WIND_HOME))
7 <%foreach(platform_makefilevars)%>
8 <%platform_makefilevar%> := $(subst \,/,$(<%platform_makefilevar%>))
10 ACE_ROOT := $(subst \,/,$(ACE_ROOT))
11 TAO_ROOT := $(subst \,/,$(TAO_ROOT))
12 CIAO_ROOT := $(subst \,/,$(CIAO_ROOT))
13 HOST_ROOT := $(subst \,/,$(HOST_ROOT))
14 <%if(sharedname || staticname)%>
15 <%if(libout || dllout)%>
16 ACE_LIBOUT := <%if(dllout)%><%dllout%><%else%><%libout%><%endif%>
20 ACE_EXEOUT := <%exeout(".")%>
23 ACE_EXE_EXT = <%foreach(buildspecs)%>$(if $(filter <%buildspec%>,$(BUILD_SPEC)),<%exe_ext%>)<%endfor%>
26 ACE_TARGET_NAME := <%exename%>
27 ACE_TARGET_EXT = $(ACE_EXE_EXT)
28 PROJECT_TARGET = $(if $(ACE_TARGET_EXT),$(filter %$(ACE_TARGET_EXT),$(PROJECT_TARGETS)),$(PROJECT_TARGETS))
30 <%if(sharedname && !compares(platform, VxWorks))%>
31 ACE_TARGET_DIR = $(ACE_TARGET_NAME)_$(BUILD_SPEC)
32 ACE_TARGET_PREFIX = <%foreach(buildspecs)%>$(if $(filter <%buildspec%>,$(BUILD_SPEC)),<%dll_prefix%>)<%endfor%>
33 ACE_TARGET_NAME := <%sharedname%>
34 ACE_TARGET_EXT = <%foreach(buildspecs)%>$(if $(filter <%buildspec%>,$(BUILD_SPEC)),<%dll_ext%>)<%endfor%>
35 PROJECT_TARGET = $(filter %$(ACE_TARGET_EXT),$(PROJECT_TARGETS))
37 <%if(staticname || sharedname)%>
38 ACE_TARGET_PREFIX = <%foreach(buildspecs)%>$(if $(filter <%buildspec%>,$(BUILD_SPEC)),<%lib_prefix%>)<%endfor%>
39 ACE_TARGET_NAME := <%staticname%>
40 ACE_TARGET_EXT = <%foreach(buildspecs)%>$(if $(filter <%buildspec%>,$(BUILD_SPEC)),<%lib_ext%>)<%endfor%>
41 PROJECT_TARGET = $(filter %$(ACE_TARGET_EXT),$(PROJECT_TARGETS))
45 ACE_TARGET_DIR ?= $(ACE_TARGET_NAME)
47 PROJECT_TARGET = CUSTOM_ONLY
50 <%if(libs && libpaths && exename && need_staticflags)%>
51 DEPLIBS = $(foreach lib,<%foreach(libs)%> <%libname_prefix%><%lib%><%endfor%> <%lit_libs%>, $(foreach libpath,<%foreach(libpaths)%><%if(!standard_build)%> <%if(make_coexistence)%>../../<%else%>../<%endif%><%libpath%><%endif%> <%libpath%><%endfor%>, $(wildcard $(libpath)/lib$(lib).a)))
54 <%if(standard_build)%>
55 all : generate_sources pre_recursion subdirs_all post_recursion pre_build main_all post_build
57 all : generate_sources pre_build main_all post_build
60 <%if(!standard_build)%>
62 @echo "make: removing targets and objects of `pwd`"
67 <%if(standard_build && exename)%>
68 $(OBJ_DIR)/<%exename%>_partialImage.o : $(OBJECTS) $(SUB_OBJECTS) $(DEPLIBS)
70 <%if(!standard_build && libs && libpaths && exename && need_staticflags)%>
71 $(ACE_TARGET_DIR)/$(MODE_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT): $(DEPLIBS)
75 <%if(!standard_build)%>
76 -include $(PRJ_ROOT_DIR)/*.makefile
82 main_all : external_build
83 @echo "make: built targets of `pwd`"
85 <%if(standard_build)%>
86 main_all : check_objectdir external_build $(PROJECT_TARGETS)
88 main_all : external_build $(PROJECT_TARGETS)
90 @echo "make: built targets of `pwd`"
93 <%if(standard_build)%>
95 @if [ ! -d "$(OBJ_DIR)" ]; then\
99 # main entry point for pre processing prior to the recursion
103 # main entry point for post processing after the recursion
108 # entry point for extending the build
112 # main entry point for pre processing prior to the build
115 @<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%><%eval(prebuild)%>
117 <%if(standard_build)%>
118 ACE_ALL_OBJECTS := $(SUB_OBJECTS) $(OBJECTS)
119 ifneq ($(PROJECT_TARGET),)
120 pre_build :: $(PRE_BUILD_STEP)
121 @echo "Create object list $(PRJ_ROOT_DIR)/filelist.txt";\
122 rm -f $(PRJ_ROOT_DIR)/filelist.txt;\
123 for object in _dummy_ $(ACE_ALL_OBJECTS); do\
124 if [ "$$object" = "_dummy_" ]; then\
127 echo "$$object" >> $(PRJ_ROOT_DIR)/filelist.txt;\
130 pre_build :: $(PRE_BUILD_STEP)
134 pre_build :: $(PRE_BUILD_STEP)
135 @echo "Create object list";\
136 rm -f $(PRJ_ROOT_DIR)/filelist.txt;\
138 for object in _dummy_ $(OBJECTS_<%exename%>); do\
140 for object in _dummy_ $(OBJECTS_<%if(sharedname)%><%sharedname%><%else%><%staticname%><%endif%>); do\
142 if [ "$$object" = "_dummy_" ]; then\
145 echo "$$object" >> $(PRJ_ROOT_DIR)/filelist.txt ;\
150 # function for generating the correct Custom type Prerequisite (input or dep)
151 # using a ../ or ../../ prefix unless it's already an absolute path
152 CUST_PRE = <%if(!standard_build)%>$(if $(patsubst $%,,$(1:/%=)),<%if(make_coexistence)%>../../<%else%>../<%endif%>)$(1)<%else%>$(1)<%endif%>
154 # function for adding an exe_ext, if needed and the file exists
155 ADD_EXT = $(if $(ACE_EXE_EXT),$(if $(suffix $(1)),$(1),$(wildcard $(1) $(1)$(ACE_EXE_EXT))),$(1))
158 SPACE = $(should_be_unset) $(should_be_unset)
159 GENERATED_DIRTY =<%if(!standard_build)%> $(addprefix <%if(make_coexistence)%>../../<%else%>../<%endif%>,<%endif%><%foreach(custom_types)%><%foreach(custom_type->input_files)%><%if(custom_type->input_file->output_files)%><%foreach(custom_type->input_file->output_files)%> <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%><%slash%><%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%endfor%><%endif%><%endfor%><%endfor%><%if(!standard_build)%>)<%endif%>
164 # entry point for generating sources prior to the build
165 <%if(standard_build)%>
166 ifneq ($(PROJECT_TARGET),)
168 generate_sources :: $(GENERATED_DIRTY)
170 <%foreach(custom_types)%>
171 <%if(custom_type->libpath)%>
172 LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):<%custom_type->libpath%>
173 PATH := $(PATH):<%custom_type->libpath%>
176 <%foreach(custom_type->input_files)%>
177 <%if(custom_type->input_file->output_files)%>
178 <%if(multiple(custom_type->input_file->output_files))%>
181 <%if(!standard_build)%>$(addprefix <%if(make_coexistence)%>../../<%else%>../<%endif%>,<%endif%><%foreach(custom_type->input_file->output_files)%><%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%><%slash%><%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%fornotlast(" ")%><%endfor%><%if(!standard_build)%>)<%endif%>: $(foreach pre,<%custom_type->input_file%><%if(custom_type->input_file->dependencies)%><%foreach(custom_type->input_file->dependencies)%><%if(contains(custom_type->input_file->dependencie, \$))%> $(subst $(SPACE),\$(SPACE),<%custom_type->input_file->dependencie%>)<%else%> <%scope(enter, escape, \\s)%><%custom_type->input_file->dependencie%><%scope(leave)%><%endif%><%endfor%><%endif%><%if(flag_overrides(custom_type->input_file, dependent))%><%foreach(dep, flag_overrides(custom_type->input_file, dependent))%><%if(contains(dep, \$))%> $(subst $(SPACE),\$(SPACE),<%dep%>)<%else%> <%scope(enter, escape, \\s)%><%dep%><%scope(leave)%><%endif%><%endfor%><%else%><%if(custom_type->dependent)%><%foreach(custom_type->dependent)%><%if(contains(custom_type->dependent, \$))%> $(subst $(SPACE),\$(SPACE),<%custom_type->dependent%>)<%else%> <%scope(enter, escape, \\s)%><%custom_type->dependent%><%scope(leave)%><%endif%><%endfor%><%endif%><%endif%><%if(!need_staticflags)%><%if(flag_overrides(custom_type->input_file, dependent_libs))%><%foreach(dep_lib, flag_overrides(custom_type->input_file, dependent_libs))%><%if(contains(dep, \$))%> $(subst $(SPACE),\$(SPACE),<%dirname(dep_lib)%>/<%libname_prefix%><%basename(dep_lib)%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>)<%else%> <%scope(enter, escape, \\s)%><%dirname(dep_lib)%>/<%libname_prefix%><%basename(dep_lib)%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%><%scope(leave)%><%endif%><%endfor%><%if(custom_type->dependent_libs)%><%foreach(custom_type->dependent_libs)%><%if(contains(custom_type->dependent_libs, \$))%> $(subst $(SPACE),\$(SPACE),<%dirname(custom_type->dependent_lib)%>/<%libname_prefix%><%basename(custom_type->dependent_lib)%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%>)<%else%> <%scope(enter, escape, \\s)%><%dirname(custom_type->dependent_lib)%>/<%libname_prefix%><%basename(custom_type->dependent_lib)%><%if(use_lib_modifier)%><%lib_modifier%><%endif%><%dll_ext%><%scope(leave)%><%endif%><%endfor%><%endif%><%endif%><%endif%>,$(call ADD_EXT,$(call CUST_PRE,$(pre))))
182 <%if(flag_overrides(custom_type->input_file, gendir))%>
183 <%if(!compares(flag_overrides(custom_type->input_file, gendir),.))%>
184 @<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%>test -d "<%flag_overrides(custom_type->input_file, gendir)%>" || mkdir -p "<%flag_overrides(custom_type->input_file, gendir)%>"
187 $(TRACE_FLAG)<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%><%if(flag_overrides(custom_type->input_file, command))%><%flag_overrides(custom_type->input_file, command)%><%else%><%custom_type->command%><%endif%> <%if(flag_overrides(custom_type->input_file, commandflags))%><%flag_overrides(custom_type->input_file, commandflags)%><%else%><%custom_type->commandflags%><%endif%> <%if(custom_type->output_option)%><%custom_type->input_file%> <%custom_type->output_option%><%foreach(custom_type->input_file->output_files)%> <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%><%slash%><%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%endfor%><%else%><%custom_type->input_file%><%endif%>
188 <%if(flag_overrides(custom_type->input_file, postcommand))%>
189 <%foreach(custom_type->input_file)%>
190 $(TRACE_FLAG)<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%><%flag_overrides(custom_type->input_file, postcommand)%>
193 <%if(custom_type->postcommand)%>
194 <%foreach(custom_type->input_file)%>
195 $(TRACE_FLAG)<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%><%custom_type->postcommand%>
200 <%if(custom_type->pch_postrule)%>
201 <%foreach(custom_type->input_file->source_output_files)%>
202 @<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%>echo '#include "<%pch_header%>"' > temp.$$$$ && cat <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%><%slash%><%basename(custom_type->input_file->source_output_file)%><%else%><%custom_type->input_file->source_output_file%><%endif%> >> temp.$$$$ && mv temp.$$$$ <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%><%slash%><%basename(custom_type->input_file->source_output_file)%><%else%><%custom_type->input_file->source_output_file%><%endif%>
209 <%if(standard_build)%>
216 DIR_PREFIX = <%if(make_coexistence)%><%dirname(project_file)%>/<%endif%>$(BUILD_SPEC)
218 # main entry point for post processing after the build
221 @<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%><%eval(postbuild)%>
223 post_build :: $(POST_BUILD_STEP) deploy_output
226 # entry point for deploying output after the build
227 <%if(standard_build)%>
228 ifneq ($(PROJECT_TARGET),)
230 <%if(!standard_build)%>
231 deploy_output :: <%if(exename)%>$(call CUST_PRE,$(ACE_EXEOUT)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT))<%else%><%if(sharedname || staticname)%><%if(libout || dllout)%>$(call CUST_PRE,$(ACE_LIBOUT)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT))<%endif%><%endif%><%endif%>
233 $(call CUST_PRE,$(ACE_EXEOUT)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT)): $(ACE_TARGET_DIR)/$(MODE_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT)
234 $(TRACE_FLAG)<%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%>test -d $(ACE_EXEOUT) || mkdir -p $(ACE_EXEOUT); cp $(DIR_PREFIX)/$(ACE_TARGET_DIR)/$(MODE_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT) $(ACE_EXEOUT)
236 <%if(sharedname || staticname)%>
237 <%if(libout || dllout)%>
238 $(call CUST_PRE,$(ACE_LIBOUT)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT)): $(ACE_TARGET_DIR)/$(MODE_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT)
239 $(TRACE_FLAG)<%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%>test -d $(ACE_LIBOUT) || mkdir -p $(ACE_LIBOUT); cp $(DIR_PREFIX)/$(ACE_TARGET_DIR)/$(MODE_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT) $(ACE_LIBOUT)
247 if [ $(ACE_EXEOUT) != . ]; then\
248 if [ ! -d $(ACE_EXEOUT) ]; then\
249 mkdir -p $(ACE_EXEOUT);\
251 if test -e $(ACE_EXEOUT)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT); then \
252 if test $(OBJ_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT) -nt $(ACE_EXEOUT)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT); then \
253 cp $(OBJ_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT) $(ACE_EXEOUT);\
256 cp $(OBJ_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT) $(ACE_EXEOUT);\
261 <%if(sharedname || staticname)%>
262 <%if(libout || dllout)%>
263 if [ $(ACE_LIBOUT) != . ]; then\
264 if [ ! -d $(ACE_LIBOUT) ]; then\
265 mkdir -p $(ACE_LIBOUT);\
267 if test -e $(ACE_LIBOUT)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT); then \
268 if test $(OBJ_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT) -nt $(ACE_LIBOUT)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT); then \
269 cp $(OBJ_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT) $(ACE_LIBOUT);\
272 cp $(OBJ_DIR)/$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT) $(ACE_LIBOUT);\
280 <%if(standard_build)%>
287 <%if(standard_build)%>
289 # order subdirs to use subprojects first
290 isSubProject = $(if $(subst $(subst $(CURDIR)/,,$(dir)),,$(dir)),, $(dir))
291 SUB_PROJECTS := $(foreach dir, $(SUBDIRS), $(isSubProject))
292 isSubFolder = $(if $(subst $(subst $(CURDIR)/,,$(dir)),,$(dir)), $(dir))
293 SUB_FOLDERS := $(foreach dir, $(SUBDIRS), $(isSubFolder))
295 SUBDIRS_ORDERED := $(SUB_PROJECTS) $(SUB_FOLDERS)
297 # recursive make in SUBDIRS
300 for dir in _dummy_ $(SUBDIRS_ORDERED); do\
301 if [ "$$dir" = "_dummy_" ]; then\
304 if [ ! -d "$$dir" ]; then\
307 echo "Recursive make: Changing to Directory '$$dir'";\
309 "$(MAKE)" -f "$(MAKEFILE)" $(MFLAGS) all || exit;\
310 echo "Recursive make: Changing back to Directory '$$_PWD'";\
316 for dir in _dummy_ $(SUBDIRS_ORDERED); do\
317 if [ "$$dir" = "_dummy_" ]; then\
320 if [ ! -d "$$dir" ]; then\
323 echo "Recursive make: Changing to Directory '$$dir'";\
325 "$(MAKE)" -f "$(MAKEFILE)" $(MFLAGS) $@ || exit;\
326 echo "Recursive make: Changing back to Directory '$$_PWD'";\
331 clean :: external_clean $(CLEAN_STEP) _clean
333 # entry point for extending the build clean
334 <%if(standard_build)%>
335 ifneq ($(PROJECT_TARGET),)
338 <%foreach(custom_types)%>
339 <%foreach(custom_type->input_files)%>
340 <%if(custom_type->input_file->output_files)%>
341 $(TRACE_FLAG)<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%>rm -f <%foreach(custom_type->input_file->output_files)%> <%if(flag_overrides(custom_type->input_file, gendir))%><%flag_overrides(custom_type->input_file, gendir)%>/<%basename(custom_type->input_file->output_file)%><%else%><%custom_type->input_file->output_file%><%endif%><%endfor%>
346 <%if(exeout || !standard_build)%>
347 $(TRACE_FLAG)<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%>rm -f <%exeout(".")%>/$(ACE_TARGET_NAME)$(ACE_TARGET_EXT)
350 <%if(sharedname || staticname)%>
351 $(TRACE_FLAG)<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%>rm -f <%if(dllout)%><%dllout%>/<%else%><%libout%>/<%endif%>$(ACE_TARGET_PREFIX)$(ACE_TARGET_NAME)$(ACE_TARGET_EXT)
355 $(TRACE_FLAG)<%if(!standard_build)%><%if(make_coexistence)%>cd ../.. ; <%else%>cd .. ; <%endif%><%endif%><%eval(postclean)%>
358 <%if(standard_build)%>
366 <%if(standard_build)%>
368 if [ -d $(OBJ_DIR) ]; then\
369 echo "make: removing targets and objects of `pwd`";\
370 rm -f $(OBJECTS) $(PROJECT_TARGETS) $(DEP_FILES) $(wildcard $(OBJ_DIR)/*.unstripped) $(wildcard $(OBJ_DIR)/ctdt.*) \
372 rm -f $(PRJ_ROOT_DIR)/filelist.txt;\
374 echo "make: removing targets and objects of `pwd`, already done";\
378 @echo "building target default for ALL build-specs";\
379 for spec in _dummy_ $(ALL_BUILD_SPECS); do\
380 if [ "$$spec" = "_dummy_" ]; then\
384 echo "building all for build-spec '$$spec'";\
385 "$(MAKE)" -f "$(MAKEFILE)" $(MFLAGS) BUILD_SPEC=$$spec DEBUG_MODE=$(DEBUG_MODE) TRACE=$(TRACE) || exit;\
389 @echo "building target clean for ALL build-specs";\
390 for spec in _dummy_ $(ALL_BUILD_SPECS); do\
391 if [ "$$spec" = "_dummy_" ]; then\
395 echo "building clean for build-spec '$$spec'";\
396 "$(MAKE)" -f "$(MAKEFILE)" $(MFLAGS) BUILD_SPEC=$$spec DEBUG_MODE=$(DEBUG_MODE) TRACE=$(TRACE) clean || exit;\
399 build_enabled_specs :
400 @echo "building target default for ENABLED build-specs";\
401 for spec in _dummy_ $(ENABLED_BUILD_SPECS); do\
402 if [ "$$spec" = "_dummy_" ]; then\
406 echo "building all for build-spec '$$spec'";\
407 "$(MAKE)" -f "$(MAKEFILE)" $(MFLAGS) BUILD_SPEC=$$spec DEBUG_MODE=$(DEBUG_MODE) TRACE=$(TRACE) || exit;\
410 clean_enabled_specs :
411 @echo "building target clean for ENABLED build-specs";\
412 for spec in _dummy_ $(ENABLED_BUILD_SPECS); do\
413 if [ "$$spec" = "_dummy_" ]; then\
417 echo "building clean for build-spec '$$spec'";\
418 "$(MAKE)" -f "$(MAKEFILE)" $(MFLAGS) BUILD_SPEC=$$spec DEBUG_MODE=$(DEBUG_MODE) TRACE=$(TRACE) clean || exit;\
422 <%if(standard_build)%>
423 <%if(sharedname || staticname)%>
424 ifneq ($(PROJECT_TARGET),)
425 $(OBJ_DIR)/<%lib_prefix%><%if(sharedname)%><%sharedname%><%else%><%staticname%><%endif%><%lib_ext%> : $(OBJECTS) $(SUB_OBJECTS)