1#! make -f
2#----------------------------------------------------------------------------
3#  Project:  TwlSDK
4#  File:     commondefs.cctype.CW
5#
6#  Copyright 2007-2009 Nintendo.  All rights reserved.
7#
8# These coded instructions, statements, and computer programs contain
9# proprietary information of Nintendo of America Inc. and/or Nintendo
10# Company Ltd., and are protected by Federal copyright law.  They may
11# not be disclosed to third parties or copied or duplicated in any form,
12# in whole or in part, without the prior written consent of Nintendo.
13#
14# $Date:: 2009-11-26#$
15# $Rev: 11201 $
16# $Author: okubata_ryoma $
17#----------------------------------------------------------------------------
18
19TWL_STD_PCHDR	?= True
20PCHDR_SRC		?= $(ROOT)/include/twl.h
21
22#----------------------------------------------------------------------------
23#CWFOLDER_IRIS	?= D:\Program Files\Freescale\CW for NINTENDO DS V2.0
24#CWFOLDER_TWL	?= $(CWFOLDER_IRIS)
25CWFOLDER_TWL	?= $(CWFOLDER_NITRO)
26LM_LICENSE_FILE	:= $(subst /,\,$(CWFOLDER_TWL))\license.dat
27CW_ROOT			:= $(subst $(SPACE),\ ,$(subst \,/,$(CWFOLDER_TWL)))
28CW_ROOT_ARM		:= $(subst $(OPEN_PAREN),\$(OPEN_PAREN),$(subst $(CLOSE_PAREN),\$(CLOSE_PAREN),$(subst $(SPACE),\ ,$(subst \,/,$(CWFOLDER_TWL)))))
29CW_BINDIR		:= $(call eupath,$(CW_ROOT))/ARM_Tools/Command_Line_Tools
30CW_ARMDIR		:= $(CW_ROOT_ARM)/ARM_EABI_Support
31
32#----------------------------------------------------------------------------
33SDK_VERINFO_CW_CC	?= $(TWL_BUILDTOOLSDIR)/verinfo.cw.cc
34SDK_VERINFO_CW_LD	?= $(TWL_BUILDTOOLSDIR)/verinfo.cw.ld
35SDK_VERINFO_CC		:= $(SDK_VERINFO_CW_CC)
36SDK_VERINFO_LD		:= $(SDK_VERINFO_CW_LD)
37
38ifneq	($(filter build_and_install sdk-mch,$(MAKECMDGOALS)),)
39
40-include $(SDK_VERINFO_CW_CC) $(SDK_VERINFO_CW_LD)
41#--------Support for CW2.0beta2 and later versions
42ifndef	SDK_CW_BUILD_VERSION_CC
43#--------If SDK_CW_BUILD_VERSION_CC is not defined, use make to create verinfo
44MAKE_VERINFO	:= $(shell $(REMAKE) make-verinfo)
45-include $(SDK_VERINFO_CW_CC) $(SDK_VERINFO_CW_LD)
46endif
47
48SDK_BUILD_VERSION_CC	:= $(SDK_CW_BUILD_VERSION_CC)
49SDK_BUILD_NUMBER_CC		:= $(SDK_CW_BUILD_NUMBER_CC)
50SDK_BUILD_NUMBER2_CC	:= $(SDK_CW_BUILD_NUMBER2_CC)
51SDK_BUILD_VERSION_LD	:= $(SDK_CW_BUILD_VERSION_LD)
52SDK_BUILD_NUMBER_LD		:= $(SDK_CW_BUILD_NUMBER_LD)
53SDK_BUILD_NUMBER2_LD	:= $(SDK_CW_BUILD_NUMBER2_LD)
54
55ifeq		($(shell expr "$(SDK_CW_BUILD_VERSION_CC)" ">=" 4.0),1)
56CW_MAJOR_VER	?= 3
57endif
58ifeq		($(shell expr "$(SDK_CW_BUILD_VERSION_CC)" "==" 3.0),1)
59CW_MAJOR_VER	?= 2
60endif
61# "__declspec(force_export)" support
62ifeq		($(shell expr "$(SDK_CW_BUILD_VERSION_CC)" ">=" 3.0),1)
63SDK_CW_FORCE_EXPORT_SUPPORT	:= yes
64endif
65endif
66CW_MAJOR_VER	?= 1
67
68######## IRIS V0.2 Hotfix 1
69######## TWL V0.3
70#CW_AVOID_STRB		:= -avoid_strb all,noerr
71#
72######## TWL V0.4 or other
73CW_AVOID_STRB		:= -avoid_byte strb -warn_byte none
74#CW_AVOID_STRB		:= -avoid_byte strb -warn_byte all
75#
76
77#----------------------------------------------------------------------------
78
79MWCC		:= $(CW_BINDIR)/mwccarm.exe
80MWAS		:= $(CW_BINDIR)/mwasmarm.exe
81MWLD		:= $(CW_BINDIR)/mwldarm.exe
82MWAR		:= $(MWLD)
83
84CC			:= "$(call delete_space_escape,$(MWCC))"
85AS			:= "$(call delete_space_escape,$(MWAS))"
86LD			:= "$(call delete_space_escape,$(MWLD))"
87AR			:= "$(call delete_space_escape,$(MWAR))"
88
89ELFTOBIN			:= $(CW_BINDIR)/elftobin.exe
90ELFTOBIN_TYPE		= $(TWL_PLATFORM)$(CODEGEN_ARCH)/$(TWL_BUILD_DIR)
91ELFTOBIN_ARM9		?= $(TWL_COMPONENTSDIR)/printserver/$(TWL_BUILDTYPE_ARM9)/printserver.$(TWL_ELF_EXT)
92ELFTOBIN_ARM7		?= $(TWL_COMPONENTSDIR)/ferret/$(TWL_BUILDTYPE_ARM7)/ferret.$(TWL_ELF_EXT)
93ELFTOBIN_ROMHEADER	?= $(TWL_TOOLSDIR)/elftobin/romHeader.bin
94
95#----------------------------------------------------------------------------
96#  Workaround flags
97#	SDK_CW_WARNOFF_SAFESTRB	: use code32.h to wipe warning STRB out
98#	SDK_CW_WA_OPT4		: workaround for -O4
99#	SDK_CW_WA_CONSTPOOLS	: workaround for CW 'ConstantPools.c'line: 346
100#	SDK_CW_WA_OPT_BLX	: workaround for blxeq,blxne with opt>=2
101#	SDK_CW_WA_LIBCXX	: workaround for 'C++' libname in lcf
102#
103
104#--- flags ---
105ifeq	($(TWL_PLATFORM),TEG)
106SDK_CW_WARNOFF_SAFESTRB := yes
107else
108SDK_CW_WARNOFF_SAFESTRB	:=
109endif
110
111######## IRIS V0.2 Hotfix 1
112######## TWL V0.3
113######## TWL V0.4.1
114#SDK_CW_WA_OPT4		:= yes
115#SDK_CW_WA_CONSTPOOLS	:= yes
116#SDK_CW_WA_OPT_BLX	:= yes
117######## TWL V0.5
118######## TWL V0.5 + HotFix1
119######## TWL V0.6
120#SDK_CW_WA_LIBCXX	:= yes
121
122#-----------------------------------
123#
124ifdef	SDK_CW_WA_OPT_BLX
125ifdef	TWL_BLXCHECKED
126#	Workaround by pragma
127MACRO_FLAGS	+= -DSDK_CW_WA_OPT_BLX
128else
129#	Workaround by option
130SDK_CW_AVOID_ARM_ARCH5	:= yes
131endif
132endif
133
134ifdef	SDK_CW_WARNOFF_SAFESTRB
135MACRO_FLAGS	+= -DSDK_CW_WARNOFF_SAFESTRB
136endif
137
138ifdef	SDK_CW_WA_OPT4
139ifeq	($(CODEGEN_CC),ARM)
140MACRO_FLAGS	+= $(if $(filter DEBUG,$(TWL_BUILD_TYPE)),,-DSDK_CW_WA_OPT4)
141endif
142endif
143
144ifdef	SDK_CW_WA_CONSTPOOLS
145ifeq	($(CODEGEN_CC),THUMB)
146MACRO_FLAGS	+= $(if $(filter DEBUG,$(TWL_BUILD_TYPE)),,-DSDK_CW_WA_CONSTPOOLS)
147endif
148endif
149
150ifdef	SDK_CW_FORCE_EXPORT_SUPPORT
151MACRO_FLAGS   +=  -DSDK_CW_FORCE_EXPORT_SUPPORT
152endif
153
154#----------------------------------------------------------------------------
155# SDK small build
156
157ifdef	SDK_SMALL_BUILD
158MACRO_FLAGS	+=	-DSDK_SMALL_BUILD
159endif
160
161#----------------------------------------------------------------------------
162#  Workaround flags
163#	SDK_TEG_WA_VBLANK	: workaround TEG vblank problems
164#
165
166ifeq	($(TWL_PLATFORM),TEG)
167MACRO_FLAGS	+= -DSDK_TEG_WA_VBLANK
168endif
169
170
171#----------------------------------------------------------------------------
172######## IRIS V0.2 Hotfix 1
173######## TWL V0.3
174######## TWL V0.4
175#CW_LIBNAME_RULE_A   := ARM
176#CW_LIBNAME_RULE_T   := Thumb
177#CW_LIBNAME_RULE_AI  := ARM_i
178#CW_LIBNAME_RULE_RA  := ARM_Runtime
179#CW_LIBNAME_RULE_RT  := Thumb_Runtime
180#CW_LIBNAME_RULE_RAI := ARM_Runtime_i
181######## TWL V0.5 or other
182CW_LIBNAME_RULE_A   := NITRO_A
183CW_LIBNAME_RULE_T   := NITRO_T
184CW_LIBNAME_RULE_AI  := NITRO_Ai
185CW_LIBNAME_RULE_RA  := NITRO_Runtime_A
186CW_LIBNAME_RULE_RT  := NITRO_Runtime_T
187CW_LIBNAME_RULE_RAI := NITRO_Runtime_Ai
188#
189
190CW_INCDIRS	 = $(CW_ARMDIR)/msl/MSL_C/MSL_ARM/Include					\
191			   $(CW_ARMDIR)/msl/MSL_C/MSL_Common/Include				\
192			   $(CW_ARMDIR)/msl/MSL_C/MSL_Common_Embedded/Math/Include	\
193			   $(CW_ARMDIR)/msl/MSL_C++/MSL_ARM/Include					\
194			   $(CW_ARMDIR)/msl/MSL_C++/MSL_Common/Include				\
195			   $(CW_ARMDIR)/msl/MSL_Extras/MSL_Common/Include			\
196			   $(CW_ARMDIR)/Profiler/include							\
197			   $(CW_ARMDIR)/Runtime/Runtime_ARM/Runtime_NITRO/Common_Includes
198#--------Because the Runtime directory was changed in versions CW2.0beta2 and later
199ifneq		($(CW_MAJOR_VER),1)
200CW_INCDIRS	+= $(CW_ARMDIR)/msl/MSL_Extras/MSL_ARM/Include
201endif
202
203CW_CXX		= $(if $(SDK_CW_WA_LIBCXX),CXX,CPP)
204CW_LIBCXX_DIR	= $(if $(SDK_CW_WA_LIBCXX),$(ROOT)/lib/CodeWarrior,$(CW_ARMDIR)/msl/MSL_C++/MSL_ARM/Lib)
205#--------Because the Runtime directory was changed in versions CW2.0beta2 and later
206ifneq		($(CW_MAJOR_VER),1)
207CW_LIBDIRS	?= $(CW_ARMDIR)/msl/MSL_C/MSL_ARM/Lib			\
208		   $(CW_LIBCXX_DIR)					\
209		   $(CW_ARMDIR)/msl/MSL_Extras/MSL_ARM/Lib 		\
210		   $(CW_ARMDIR)/Runtime/Runtime_ARM/Runtime_NITRO/Lib	\
211		   $(CW_ARMDIR)/Mathlib/lib
212endif
213CW_LIBDIRS	?= $(CW_ARMDIR)/msl/MSL_C/MSL_ARM/Lib			\
214		   $(CW_LIBCXX_DIR)					\
215		   $(CW_ARMDIR)/msl/MSL_Extras/MSL_ARM/Lib 		\
216		   $(CW_ARMDIR)/Runtime/Lib				\
217		   $(CW_ARMDIR)/Mathlib/lib
218
219ifeq		($(CODEGEN_PROC)-$(TWL_PLATFORM),ARM9-TEG)
220CW_SUFFIX	= _LE_strb.a
221else
222CW_SUFFIX	= _LE.a
223endif
224
225ifeq		($(CODEGEN_PROC),ARM9)
226CW_LIBFP	?= FP_fastI_v5t_LE.a
227# CW_LIBFP	?= FP_fixedI_v5t_LE.a
228# CW_LIBFP	?= FP_flush0_v5t_LE.a
229# CW_LIBFP	?= FP_fullI_v5t_LE.a
230else
231CW_LIBFP	?= FP_fastI_v4t_LE.a
232# CW_LIBFP	?= FP_fixedI_v4t_LE.a
233# CW_LIBFP	?= FP_flush0_v4t_LE.a
234# CW_LIBFP	?= FP_fullI_v4t_LE.a
235endif
236
237CW_LIBCXX_ARM	= MSL_$(CW_CXX)_$(CW_LIBNAME_RULE_AI)$(CW_SUFFIX)
238
239CW_LIBS_ARM	= MSL_C_$(CW_LIBNAME_RULE_AI)$(CW_SUFFIX)		\
240		  MSL_Extras_$(CW_LIBNAME_RULE_AI)$(CW_SUFFIX)		\
241		  $(CW_LIBCXX_ARM)					\
242		  $(CW_LIBFP)						\
243		  $(CW_LIBNAME_RULE_RAI)$(CW_SUFFIX)
244
245# Workaround for Byte Access: Don't use thumb libraries if ARM9-TEG
246ifeq		($(CODEGEN_PROC)-$(TWL_PLATFORM),ARM9-TEG)
247
248CW_LIBCXX_THUMB = $(CW_LIBCXX_ARM)
249
250CW_LIBS_THUMB	= $(CW_LIBS_ARM)
251
252else
253
254CW_LIBCXX_THUMB = MSL_$(CW_CXX)_$(CW_LIBNAME_RULE_T)_LE.a
255
256CW_LIBS_THUMB	= MSL_C_$(CW_LIBNAME_RULE_T)_LE.a			\
257		  MSL_Extras_$(CW_LIBNAME_RULE_T)_LE.a			\
258		  $(CW_LIBCXX_THUMB)					\
259		  $(CW_LIBFP)						\
260		  $(CW_LIBNAME_RULE_RT)_LE.a
261endif
262
263ifeq	($(CODEGEN_PROC),ARM9)
264#STUBS_LIBS	+= libstubscw$(TWL_LIBSUFFIX).a
265else #	($(CODEGEN_PROC),ARM7)
266#STUBS_LIBS	+= libstubscw_sp$(TWL_LIBSUFFIX).a
267endif
268	$(ECHO) "==== test";
269
270#----------------------------------------------------------------------------
271#  Switch by codegen target
272#    TWL_PLATFORM  TEG/TS
273#    TWL_MEMSIZE   4M/8M
274#    CODEGEN_PROC    ARM7/ARM9
275#    CODEGEN_CC      ARM/THUMB
276#    CODEGEN_AS      ARM/THUMB
277#
278
279MACRO_FLAGS	+= -DSDK_$(TWL_PLATFORM)  \
280		   -DSDK_$(TWL_MEMSIZE)   \
281		   -DSDK_$(CODEGEN_PROC)
282
283MACRO_FLAGS_CC	+= -DSDK_CODE_$(CODEGEN_CC)
284MACRO_FLAGS_AS	+= -DSDK_CODE_$(CODEGEN_AS)
285
286
287#-------------------------------------- CODEGEN_PROC ARM9/ARM7
288
289CCFLAGS_PROC_ARM9 = $(if $(SDK_CW_AVOID_ARM_ARCH5),arm7tdmi,arm946e)
290
291
292CCFLAGS_PROC	 = -proc $(if $(filter ARM9,$(CODEGEN_PROC)),$(CCFLAGS_PROC_ARM9),arm7tdmi)
293ASFLAGS_PROC	 = -proc $(if $(filter ARM9,$(CODEGEN_PROC)),arm5TE,arm4T)
294
295#-------------------------------------- TWL_CODEGEN(=CODEGEN_CC) ARM/THUMB
296
297CC_LIBS	 	= $(if $(filter ARM,$(CODEGEN_CC)),$(CW_LIBS_ARM),$(CW_LIBS_THUMB))
298
299#-------------------------------------- CODEGEN_CC  ARM/THUMB
300
301CCFLAGS_ISET	 = $(if $(filter THUMB,$(CODEGEN_CC)),-thumb,-nothumb)
302
303#-------------------------------------- CODEGEN_AS  ARM/THUMB
304
305ASFLAGS_ISET	 = $(if $(filter THUMB,$(CODEGEN_AS)),-16,-32)
306
307CCFLAGS_ARCH	?= $(CCFLAGS_PROC) $(CCFLAGS_ISET) -nopic -nopid -interworking
308ASFLAGS_ARCH	?= $(ASFLAGS_PROC) $(ASFLAGS_ISET)
309LDFLAGS_ARCH	?= $(CCFLAGS_PROC) $(CCFLAGS_ISET) -nopic -nopid -interworking
310ARFLAGS_ARCH	?=
311
312#----------------------------------------------------------------------------
313#  Standard includes/libraries for CodeWarrior
314#
315
316export	MWCIncludes    := $(subst \;,$(OPEN_PAREN),$(subst $(OPEN_PAREN),;,$(subst \;,$(CLOSE_PAREN),$(subst $(CLOSE_PAREN),;,$(subst \;, ,$(subst $(SPACE),;,$(CW_INCDIRS)))))))
317export	MWLibraries    := $(subst \;,$(OPEN_PAREN),$(subst $(OPEN_PAREN),;,$(subst \;,$(CLOSE_PAREN),$(subst $(CLOSE_PAREN),;,$(subst \;, ,$(subst $(SPACE),;,$(CW_LIBDIRS)))))))
318export	MWLibraryFiles := $(subst \;,$(OPEN_PAREN),$(subst $(OPEN_PAREN),;,$(subst \;,$(CLOSE_PAREN),$(subst $(CLOSE_PAREN),;,$(subst \;, ,$(subst $(SPACE),;,$(CC_LIBS)))))))
319
320#----------------------------------------------------------------------------
321#  declare TWL target
322#
323
324MACRO_FLAGS	+= -DSDK_TWL -DSDK_TWL$(subst .,,$(ARCHGEN_TYPE))
325
326#----------------------------------------------------------------------------
327#  Switch by C Compiler CW/SNC
328#
329
330MACRO_FLAGS	+= -DSDK_$(TWL_CCTYPE) \
331               -DSDK_$(TWL_CCTYPE)_MAJOR_VER=$(CW_MAJOR_VER)
332
333
334#----------------------------------------------------------------------------
335#  Switch by DEBUG/RELEASE/FINALROM
336#
337
338MACRO_FLAGS		+= -DSDK_$(TWL_BUILD_TYPE)
339
340CCFLAGS_OPT_O_	 = -O4 -inline on,noauto
341CCFLAGS_OPT_O_	+= -opt $(if $(filter ARM9,$(CODEGEN_PROC)),speed,space)
342
343CCFLAGS_OPT		?= $(if $(filter DEBUG,$(TWL_BUILD_TYPE)),-O0 -inline off,$(CCFLAGS_OPT_O_))
344ASFLAGS_OPT		?=
345LDFLAGS_OPT		?=
346ARFLAGS_OPT		?=
347
348CCFLAGS_OPT		+= $(if $(TWL_NO_OPT_G),,-g)
349LDFLAGS_OPT		+= $(if $(TWL_NO_OPT_G),,-g) $(if $(filter 3,$(CW_MAJOR_VER)),-segment_veneers)
350
351#--------To avoid problem with size increase in versions CW2.0beta2 and later, -ipa file option is required
352ifneq		($(CW_MAJOR_VER),1)
353CCFLAGS_OPT		+= -ipa file
354endif
355
356
357#----------------------------------------------------------------------------
358#  Switch for code profiling
359#
360CCFLAGS_OPT	+= $(if $(TWL_PROFILE),-profile)
361CCFLAGS_OPT	+= $(if $(TWL_PROFILE_TYPE),-DSDK_PROFILE_$(TWL_PROFILE_TYPE))
362
363
364#----------------------------------------------------------------------------
365#  Switch for anti-thread policy
366#
367
368ifdef		TWL_NO_THREAD
369MACRO_FLAGS	+= -DSDK_NO_THREAD
370endif
371
372
373#----------------------------------------------------------------------------
374#  Switch for AUTOTEST/UNITTEST
375#
376ifdef		TWL_AUTOTEST
377MACRO_FLAGS	+= -DSDK_AUTOTEST
378endif
379ifdef		TWL_UTEST
380MACRO_FLAGS	+= -DSDK_UTEST
381endif
382
383#----------------------------------------------------------------------------
384#  Switch for using system call when SVC_WaitVBlankIntr
385#
386MACRO_FLAGS	+= $(if $(TWL_SVC_WAITVBLANK_COMPATIBLE),-DSDK_SVC_WAITVBLANK_COMPATIBLE)
387
388
389#----------------------------------------------------------------------------
390#  Switch for automatic PrintServer
391#
392ifdef		TWL_ENABLE_ARM7_PRINT
393MACRO_FLAGS	+= -DSDK_ENABLE_ARM7_PRINT
394endif
395
396
397#----------------------------------------------------------------------------
398#  My macro flags
399#
400MACRO_FLAGS	+= $(LMACRO_FLAGS)
401
402
403#----------------------------------------------------------------------------
404CCFLAGS_WARNING_FULL	 = all,cmdline,illpragmas,emptydecl,possible,unusedarg,unusedvar,unused,extracomma,pedantic,hidevirtual,implicitconv,impl_int2float,impl_float2int,impl_signedunsigned,notinlined,largeargs,structclass,padding,notused,missingreturn,unusedexpr,ptrintconv,anyptrintconv,undefmacro,filecaps,sysfilecaps,tokenpasting
405
406CCFLAGS_WARNING_NIGHTLY	 = all,padding,notused,ptrintconv,undefmacro
407
408CCFLAGS_MSGSTYLE		?= -msgstyle std
409
410ifeq	($(TWLSDK_WARNING_NIGHTLY),TRUE)
411CCFLAGS_WARNING			?= -w $(CCFLAGS_WARNING_NIGHTLY)
412endif
413
414ifeq	($(NITRO_WARNING_STRICT),TRUE)
415CCFLAGS_WARNING			?= -w $(CCFLAGS_WARNING_FULL)
416else
417CCFLAGS_WARNING			?= -w all
418endif
419LDFLAGS_WARNING			?= -w on
420ARFLAGS_WARNING			?= -w on
421
422CCFLAGS_ENCODING		?= $(if $(filter en,$(TWLSDK_LANG)),-enc ascii,-enc SJIS)
423
424CCFLAGS_CHARTYPE		?= -char signed
425
426CCFLAGS_MISC			 = $(CCFLAGS_MSGSTYLE) $(CCFLAGS_WARNING) $(CCFLAGS_ENCODING) $(CCFLAGS_CHARTYPE)
427ASFLAGS_MISC			 = $(CCFLAGS_MSGSTYLE)
428LDFLAGS_MISC			 = $(CCFLAGS_MSGSTYLE) $(LDFLAGS_WARNING)
429ARFLAGS_MISC			 = $(CCFLAGS_MSGSTYLE) $(ARFLAGS_WARNING)
430
431
432#----------------------------------------------------------------------------
433
434CCFLAGS_SYS	?= -stdinc -enum int -stdkeywords off -Cpp_exceptions off
435ASFLAGS_SYS	?= -nostdinc -DSDK_ASM
436LDFLAGS_SYS	?= -stdlib -map closure -main _start
437ARFLAGS_SYS	?= -library
438
439
440CCFLAGS		= -lang c $(CCFLAGS_ARCH) $(CCFLAGS_OPT) $(CCFLAGS_MISC) \
441		  $(CCFLAGS_SYS)  $(MACRO_FLAGS) $(MACRO_FLAGS_CC)
442
443CXXFLAGS	= -lang c++ $(CCFLAGS_ARCH) $(CCFLAGS_OPT) $(CCFLAGS_MISC) \
444		  $(CCFLAGS_SYS)  $(MACRO_FLAGS) $(MACRO_FLAGS_CC)
445
446ASFLAGS		= $(ASFLAGS_ARCH) $(ASFLAGS_OPT) $(ASFLAGS_MISC) \
447		  $(ASFLAGS_SYS)  $(MACRO_FLAGS) $(MACRO_FLAGS_AS)
448
449LDFLAGS		= $(LDFLAGS_ARCH) $(LDFLAGS_OPT) $(LDFLAGS_MISC) \
450		  $(LDFLAGS_SYS)
451
452ARFLAGS		= $(ARFLAGS_ARCH) $(ARFLAGS_OPT) $(ARFLAGS_MISC) \
453		  $(ARFLAGS_SYS)
454
455
456#----- End of commondefs.cctype.CW -----
457