2 // ***********************************************************************
3 // The default compiler for the 'make' project type is gcc (provided by
4 // the fill_value() method in MakeProjectCreator.pm). This can be
5 // controlled by setting the compilers template variable. It may be
6 // changed on the MPC command line via the -value_template option.
7 // Additionally, each compiler has a default platform. The default
8 // platform for gcc is linux. This too can be changed via the
9 // -value_template option. Below are some examples.
11 // Use SunCC on the default platform (solaris):
12 // mwc.pl -type make -value_template compilers=SunCC
13 // Use the default compiler (gcc) on LynxOS:
14 // mwc.pl -type make -value_template platforms=lynxos
15 // Use HP-UX aCC on the default platform (HP-UX):
16 // mwc.pl -type make -value_template compilers=aCC
17 // ***********************************************************************
19 conditional_include "common"
20 conditional_include "unixcommon"
22 configurations = Release
39 // ***********************************************************************
40 // Configuration Section
41 // ***********************************************************************
53 // ***********************************************************************
55 // ***********************************************************************
75 exe_linkflags = --main=<%main%>
80 clean = cxx_repository so_locations
82 tempinc = cxx_repository
84 pchcreate = "-nopch_messages -create_pch "
85 pchuse = "-nopch_messages -use_pch "
91 compilerflags = -ieee -names_as_is_short
93 shflags = -shared -auto_symvec
94 clean = cxx_repository
95 tempinc = cxx_repository
117 checkopt = -Wall -Wextra -pedantic -fsyntax-only
118 visopt = -fvisibility=hidden -fvisibility-inlines-hidden
119 profopt = -pg -DCOMPILER_PROFILING
120 covopt = -fprofile-arcs -ftest-coverage -DCOMPILER_COVERAGE
128 compilerflags = -isystem "$(SYSTEMDIR)/arm-elf/include"
133 checkopt = -Wall -Wextra -pedantic -fsyntax-only
134 visopt = -fvisibility=hidden -fvisibility-inlines-hidden
135 profopt = -pg -DCOMPILER_PROFILING
136 covopt = -fprofile-arcs -ftest-coverage -DCOMPILER_COVERAGE
144 libpathopt = "--userlibpath "
147 compilerflags = --gnu -DKEIL
148 platforms = cmsis_cortex_m4
156 visopt = -fvisibility=hidden
163 compilerflags64 = -xarch=v9
164 linkflags = -library=Cstd -library=Crun
165 clean = SunWS_cache ir.out
167 pchcreate = -xpch=collect:
171 visopt = -xldscope=hidden
179 compilerflags = -AA -D_RWSTD_MULTI_THREAD +W336
180 compilerflags64 = +DA2.0W +DS2.0W
182 linkflags64 = -Wl,-x -Wl,+h$(@F) -ldl
183 pchcreate = "+hdr_create "
190 arflags64 += -X64 -rv
191 compilerflags64 = -q64
193 pchcreate = -qgenpcomp=
201 compilerflags64 = -64
202 linkflags = -Wl,-woff,84
205 pchcreate = -LANG:create_pch=
206 pchuse = -diag_suppress 3056 -LANG:use_pch=
216 compilerflags = -mlongcall
217 checkopt = -Wall -Wextra -pedantic -fsyntax-only
228 checkopt = -Wall -Wextra -pedantic -fsyntax-only
239 cc = cc$(CXXINT)$(CPUTYPE)
240 cxx = cx$(CXXINT)$(CPUTYPE)
241 ar = cx$(CXXINT)$(CPUTYPE)
243 arflags = --one_instantiation_per_object -archive -o
244 compilerflags = --new_style_casts --one_instantiation_per_object --exceptions --std --long_long
245 platforms = integrity
248 // ***********************************************************************
250 // ***********************************************************************
260 shflags = -shared /usr/lib/libcxxstd.a
262 extracppflags = -D__USE_STD_IOSTREAM -D_REENTRANT
266 // If you want to create shareable images, you can
267 // set dll_ext to .exe using the -value_template option of MPC.
273 extracppflags = -D__USE_STD_IOSTREAM -D_REENTRANT
278 ldlibs = -ldl $(subst lib,-l,$(sort $(basename $(notdir $(wildcard /usr/lib/librt.so /lib/librt.so))))) -lpthread
279 extracppflags = -D_REENTRANT
284 extracppflags = -mcpu=arm7tdmi -msoft-float -mthumb-interwork
289 extracppflags = --cpu=Cortex-M4
294 ldlibs = -lsocket -ldl -lnsl -lgen -lposix4 -lthread
295 extracppflags = -D_REENTRANT
300 ldlibs = -lxti -lrt -lpthread -ldld
301 extracppflags = -D_REENTRANT
306 ldlibs = -ldl -lpthread
307 extracppflags = -D_REENTRANT
312 ldlibs = -lsocket -lgen -lpthread
317 extracppflags = -D__NO_INCLUDE_WARN__ -mthreads -mminimal-toc
323 shflags = -shared -dynamic
326 // I'm not sure if this is even useful anymore.
332 ldlibs = -lcc_dynamic -lstdc++ -lSystem -ldl
336 ldlibs = -lsocket -ldl -lnsl -lgen -lposix4 -lthread
337 extracppflags = -D_REENTRANT
342 extracppflags = -D__GCC_BUILTIN
349 specialscript = "for i in $$3; do for j in $$4; do i=`echo $$i | sed sa\^-laa`;[ -r \"$$j/lib$$i.a\" ] && libs=\"$$libs $$j/lib$$i.a\" && break;done;done;$$1 $$2 $$libs | munch | grep -v \\.cpp > $$6"
350 prelinktarget = __ctordtor.c
351 prelinktargetobj = __ctordtor$(OBJEXT)
352 clean = __ctordtor$(OBJEXT)
353 ldlibs = -L$(WIND_BASE)/target/lib/$(CPUTYPE)/$(CPU)/common$(CPU_SPECIFIC) -larch
354 extracppflags = -nostdlib -I$(WIND_BASE)/target/h
363 extracppflags = -I$(WIND_BASE)/target/usr/h -I$(WIND_BASE)/target/usr/h/wrn/coreip -mrtp
365 linkflags = -L$(WIND_BASE)/target/usr/lib/$(CPUTYPE)/$(CPU)/common
376 depgen_flags = -t make
379 // MinGW compiler with the MSYS shell, make, etc.
386 ldlibs = -lwsock32 -lnetapi32
389 depgen_flags = -t make
393 // MinGW compiler with the built-in Windows shell and native make
394 // (not cygwin or MSYS; GNUWin32 is recommended)
395 // This also needs core utils (cat, cp, rm) from GNUWin32
396 // http://gnuwin32.sourceforge.net/packages/coreutils.htm
397 // because the makefiles use forward slashes in their arguments.
404 ldlibs = -lwsock32 -lnetapi32
410 testdirstart = if not exist
414 depgen_flags = -t make
416 expanded_variable_assignment = 1
426 ldlibs = wsock32+kernel32
435 testdirstart = if not exist
437 depgen_flags = -t make
441 shflags = -shared -all
442 ldlibs = -lsocket -ldl -lnsl -lgen -lthread
443 extracppflags = -D_REENTRANT
446 // For Integrity, the following should be set as environment variables, on
447 // the make command line or within a verbatim section in your mpc file.
449 // OS_DIR The full path to your BSP installation.
450 // BSP The BSP name (ex. sim800).
456 ldlibs = -lshm_client -lnet -lsocket -lposix
457 extraarflags = -bsp $(BSP) -os_dir $(OS_DIR) --one_instantiation_per_object
458 extracppflags = -integrate -dynamic -bsp $(BSP) -os_dir $(OS_DIR) --one_instantiation_per_object -non_shared -Uvector
459 specialscript = "echo Kernel > $$6; echo Filename DynamicDownload >> $$6;echo EndKernel >> $$6; echo AddressSpace >> $$6;echo Filename $$5 >> $$6;echo Language C++ >> $$6;echo Library libINTEGRITY.so >> $$6;echo Library libc.so >> $$6;echo Library libscxx_e.so >> $$6;echo Task Initial >> $$6;echo StackLength 0x8000 >> $$6;echo EndTask >> $$6;echo EndAddressSpace >> $$6"
460 prelinktarget = $(notdir $(BIN).int)
461 postlinkbinary = $(MV) $(BIN) $(BIN).tmp && intex -bsp $(BSP) -os_dir $(OS_DIR) -intfile $(notdir $(BIN).int) -o $(BIN) $(BIN).tmp
464 conditional_include "user_makedll"