Rev 107 | Go to most recent revision | Blame | Last modification | View Log | RSS feed
// -*- MPC -*-
// $Id: makedll.mpt 198 2005-12-15 11:30:53Z bj $
// ***********************************************************************
// The default configuration for the 'make' project type is gcc. This
// is controlled by the configurations 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 configurations=SunCC
// Use the default configuration (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 configurations=aCC
// ***********************************************************************
conditional_include "common"
conditional_include "unixcommon"
configurations = gcc
obj_ext = .o
compile_flags =
arflags =
pchsupport = 1
targetoutdir =
slash = /
libopt = -l
build64bit = 1
// ***********************************************************************
// Configuration Section
// ***********************************************************************
java {
cxx = javac
ld = echo
obj_ext = .class
output_option =
compile_option =
ar = jar
arflags = cvf
platforms = jvm
}
cxx {
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
}
gcc {
cxx = g++
pic = -fPIC
shflags = -shared
platforms = linux
pchcreate = "-o "
pchnobj = 1
}
SunCC {
cxx = CC
pic = -KPIC
shflags = -G
compilerflags64 = -xarch=v9
linkflags = -library=Cstd -library=Crun
clean = SunWS_cache ir.out
platforms = solaris
}
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=
}
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
ld = ldppc
cputype = ppc
cpu = PPC604
ar = arppc
nm = nmppc
compilerflags = -mlongcall -nostdlib
linkflags = -X -r
platforms = vxworks
}
wrspentium {
cxx = g++pentium
ld = ldpentium
cputype = pentium
cpu = PENTIUM
ar = arpentium
nm = nmpentium
compilerflags = -nostdlib
linkflags = -X -r
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 {
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.
lib_prefix =
dll_ext =
exe_ext = .exe
ldlibs = -lpthread
extracppflags = -D__USE_STD_IOSTREAM -D_REENTRANT
}
linux {
ldlibs = -ldl -lpthread
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__
}
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 {
dll_ext =
specialscript = "#!/bin/sh\nfor i in $$3; do\nfor j in $$4; do\ni=`echo $$i | sed sa\^-laa`\n[ -r \"$$j/lib$$i.a\" ] && libs=\"$$libs $$j/lib$$i.a\" && break\ndone\ndone\n$$1 $$2 $$libs | munch | grep -v \\.cpp > $$5"
prelink = __ctordtor.c
ldlibs = -L$(WIND_BASE)/target/lib/$(CPUTYPE)/$(CPU)/common -larch
extracppflags = -I$(WIND_BASE)/target/h
}
cygwin {
dll_ext = .dll
exe_ext = .exe
rc = windres
}
mingw {
lib_prefix =
dll_ext = .dll
exe_ext = .exe
ldlibs = -lwsock32 -lnetapi32
rc = windres
devnull = nul
delete = del /f/s/q
copy = copy /y
makedir = mkdir
}
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 {
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"