Rev 270 | Blame | Compare with Previous | Last modification | View Log | RSS feed
// -*- MPC -*-
// $Id: makedll.mpt 217 2006-05-05 09:35:48Z bj $
// ***********************************************************************
// The default compiler for the 'make' project type is gcc (provided by
// the fill_value() method in MakeProjectCreator.pm). This can be
// controlled by setting the compilers template variable. It may be
// changed on the MPC command line via the -value_template option.
// Additionally, each compiler has a default platform. The default
// platform for gcc is linux. This too can be changed via the
// -value_template option. Below are some examples.
//
// Use SunCC on the default platform (solaris):
// mwc.pl -type make -value_template compilers=SunCC
// Use the default compiler (gcc) on LynxOS:
// mwc.pl -type make -value_template platforms=lynxos
// Use HP-UX aCC on the default platform (HP-UX):
// mwc.pl -type make -value_template compilers=aCC
// ***********************************************************************
conditional_include "common"
conditional_include "unixcommon"
configurations = Release
obj_ext = .o
res_ext = .res
compile_flags =
arflags =
pchsupport = 1
targetoutdir =
slash = /
libopt = -l
build64bit = 1
pchext = .gch
versupport = 1
dependencies = 1
visibility =
// ***********************************************************************
// Configuration Section
// ***********************************************************************
Debug {
lib_modifier = d
}
Release {
optimize = 1
}
// ***********************************************************************
// Compiler Section
// ***********************************************************************
java {
cxx = javac
ld = :
obj_ext = .class
output_option =
compile_option =
ar = jar
arflags = cvf
platforms = jvm
}
cxx_tru64 {
cxx = cxx
clean = cxx_repository so_locations
tempincopt = "-ptr "
tempinc = cxx_repository
platforms = tru64
pchcreate = "-nopch_messages -create_pch "
pchuse = "-nopch_messages -use_pch "
}
cxx_vms {
cxx = cxx
arflags = r
compilerflags = -ieee -names_as_is_short
linkflags = -threads
shflags = -shared -auto_symvec
clean = cxx_repository
tempinc = cxx_repository
platforms = openvms
}
dmc {
cxx = dmc
dmclink = 1
ar = lib
arflags = -c
obj_ext = .obj
dependencies =
platforms = dmc_win
}
gcc {
cxx = g++
pic = -fPIC
shflags = -shared
platforms = linux
pchcreate = "-o "
pchnobj = 1
visopt = -fvisibility=hidden -fvisibility-inlines-hidden
}
Intel {
cxx = icpc
pic = -fPIC
shflags = -shared
platforms = linux
visopt = -fvisibility=hidden
}
SunCC {
cxx = CC
pic = -KPIC
shflags = -G
compilerflags64 = -xarch=v9
linkflags = -library=Cstd -library=Crun
clean = SunWS_cache ir.out
platforms = solaris
pchcreate = -xpch=collect:
pchuse = -xpch=use:
pchstop = -xpchstop=
pchext = .Cpch
visopt = -xldscope=hidden
}
aCC {
cxx = aCC
pic = +Z
shflags = -b
platforms = hpux
compilerflags = -AA -D_RWSTD_MULTI_THREAD +W336
compilerflags64 = +DA2.0W +DS2.0W
linkflags = -Wl,+s
linkflags64 = -Wl,-x -Wl,+h$(@F) -ldl
pchcreate = "+hdr_create "
pchuse = "+hdr_use "
}
xlC_r {
cxx = xlC_r
arflags64 += -X64 -rv
compilerflags64 = -q64
platforms = aix
pchcreate = -qgenpcomp=
pchuse = -qusepcomp=
dependencies =
}
SGICC {
cxx = CC
pic = -KPIC
shflags = -shared
compilerflags64 = -64
linkflags = -Wl,-woff,84
clean = ii_files
platforms = irix
pchcreate = -LANG:create_pch=
pchuse = -diag_suppress 3056 -LANG:use_pch=
}
wrsppc {
cxx = g++ppc
cputype = ppc
cpu = PPC604
ar = arppc
nm = nmppc
compilerflags = -mlongcall
platforms = vxworks
}
wrspentium {
cxx = g++pentium
cputype = pentium
cpu = PENTIUM
ar = arpentium
nm = nmpentium
platforms = vxworks
}
NCC {
cxx = NCC
pic = -KPIC
platforms = tandem
}
ghsppc {
cxx = cxppc
ar = cxppc
arflags = -archive -o
compilerflags = --one_instantiation_per_object --exceptions
platforms = integrity
}
// ***********************************************************************
// Platform Section
// ***********************************************************************
jvm {
versupport =
lib_prefix =
dll_ext =
lib_ext = .jar
}
tru64 {
shflags = -shared /usr/lib/libcxxstd.a
ldlibs = -ltli -lrt
extracppflags = -D__USE_STD_IOSTREAM -D_REENTRANT
}
openvms {
// If you want to create shareable images, you can
// set dll_ext to .exe using the -value_template option of MPC.
versupport =
lib_prefix =
dll_ext =
exe_ext = .exe
ldlibs = -lpthread
extracppflags = -D__USE_STD_IOSTREAM -D_REENTRANT
}
linux {
ldlibs = -ldl -lpthread $(subst lib,-l,$(sort $(basename $(notdir $(wildcard /usr/lib/librt.so /lib/librt.so)))))
extracppflags = -D_REENTRANT
}
solaris {
shflags = -G
ldlibs = -lsocket -ldl -lnsl -lgen -lposix4 -lthread
extracppflags = -D_REENTRANT
}
hpux {
dll_ext = .sl
ldlibs = -lxti -lpthread -lrt -ldld
extracppflags = -D_REENTRANT
}
aix {
dll_ext =
ldlibs = -ldl -lpthread
extracppflags = -D_REENTRANT
}
irix {
ldlibs = -lsocket -lgen -lpthread
}
lynxos {
dll_ext =
extracppflags = -D__NO_INCLUDE_WARN__ -mthreads -mminimal-toc
}
macos {
dld = libtool
ranlib = 1
dll_ext = .dylib
shflags = -dynamic
ldlibs = -lcc_dynamic -lstdc++ -lSystem -ldl
}
unixware {
ldlibs = -lsocket -ldl -lnsl -lgen -lposix4 -lthread
extracppflags = -D_REENTRANT
}
qnx {
ldlibs = -lsocket
extracppflags = -D__GCC_BUILTIN
}
vxworks {
versupport =
dll_ext =
exe_ext = .out
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 > $$5"
prelink = __ctordtor.c
clean = __ctordtor$(OBJEXT)
ldlibs = -L$(WIND_BASE)/target/lib/$(CPUTYPE)/$(CPU)/common -larch
extracppflags = -nostdlib -I$(WIND_BASE)/target/h
ld = ld$(CPUTYPE)
linkflags = -X -r
}
vxworks_rtp {
versupport =
dll_ext =
exe_ext = .vxe
extracppflags = -I$(WIND_BASE)/target/usr/h -I$(WIND_BASE)/target/usr/h/wrn/coreip -mrtp
linkflags = -L$(WIND_BASE)/target/usr/lib/$(CPUTYPE)/$(CPU)/common
}
cygwin {
versupport =
dll_ext = .dll
exe_ext = .exe
rc = windres
res_ext = .o
}
mingw {
versupport =
lib_prefix =
dll_ext = .dll
lib_ext = .lib
exe_ext = .exe
ldlibs = -lwsock32 -lnetapi32
rc = rc
devnull = nul
delete = del /f/s/q
type = type
copy = copy /y
makedir = mkdir
move = move /y
}
dmc_win {
versupport =
lib_prefix =
dll_ext = .dll
lib_ext = .lib
exe_ext = .exe
ldlibs = wsock32+kernel32
rc = rc
devnull = nul
delete = del /f/s/q
type = type
copy = copy /y
makedir = mkdir
move = move /y
}
tandem {
shflags = -shared -all
ldlibs = -lsocket -ldl -lnsl -lgen -lthread
extracppflags = -D_REENTRANT
}
// For Integrity, the following should be set as environment variables, on
// the make command line or within a verbatim section in your mpc file.
//
// GHSROOT The full path to your Green Hills installation.
// RTOSROOT The full path to your BSP installation (probably $GHSROOT).
// BSP The BSP name (ex. sim800).
// TARGET_BSP The full path to your target BSP.
// TARGET_LD The full path to your target ld file.
//
integrity {
versupport =
dll_ext =
ldlibs = -lshm_client -lnet -livfssca -lposixsca
extraarflags = -bspname=$(RTOSROOT)/target/$(BSP).bld
extracppflags = -integrate -dynamic -bspname=$(RTOSROOT)/target/$(BSP).bld -os_dir $(GHSROOT) -non_shared -Uvector -bspfile=$(TARGET_BSP) $(TARGET_LD)
}
conditional_include "user_makedll"