mirror of
https://github.com/reactos/reactos.git
synced 2025-06-20 07:36:05 +00:00
259 lines
7.1 KiB
Makefile
259 lines
7.1 KiB
Makefile
![]() |
# Time-stamp: <07/05/31 01:03:15 ptr>
|
||
|
#
|
||
|
# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
|
||
|
# Petr Ovtchenkov
|
||
|
#
|
||
|
# Copyright (c) 2006, 2007
|
||
|
# Francois Dumont
|
||
|
#
|
||
|
# Portion Copyright (c) 1999-2001
|
||
|
# Parallel Graphics Ltd.
|
||
|
#
|
||
|
# Licensed under the Academic Free License version 3.0
|
||
|
#
|
||
|
|
||
|
ALL_TAGS = all-static all-shared
|
||
|
ifdef LIBNAME
|
||
|
INSTALL_TAGS = install-static install-shared
|
||
|
else
|
||
|
INSTALL_TAGS = install-shared
|
||
|
endif
|
||
|
|
||
|
ifneq ($(OSNAME),linux)
|
||
|
|
||
|
# For Borland Cygwin/MSys are only build environment, they do not represent
|
||
|
# the targetted OS so per default we keep all generated files in STLport
|
||
|
# folder.
|
||
|
BASE_INSTALL_DIR ?= ${STLPORT_DIR}
|
||
|
|
||
|
CXX := bcc32
|
||
|
CC := bcc32
|
||
|
RC := brcc32
|
||
|
|
||
|
DEFS ?=
|
||
|
OPT ?=
|
||
|
|
||
|
CFLAGS = -q -ff
|
||
|
CXXFLAGS = -q -ff
|
||
|
|
||
|
OPT += -w-ccc -w-rch -w-ngu -w-inl -w-eff
|
||
|
|
||
|
# release-shared : OPT += -w-inl
|
||
|
|
||
|
ifdef WITH_DYNAMIC_RTL
|
||
|
release-static : OPT += -tWR
|
||
|
dbg-static : OPT += -tWR
|
||
|
stldbg-static : OPT += -tWR
|
||
|
endif
|
||
|
|
||
|
ifndef WITH_STATIC_RTL
|
||
|
release-shared : OPT += -tWR
|
||
|
dbg-shared : OPT += -tWR
|
||
|
stldbg-shared : OPT += -tWR
|
||
|
endif
|
||
|
|
||
|
ifdef WITHOUT_RTTI
|
||
|
OPT += -RT-
|
||
|
endif
|
||
|
|
||
|
ifndef WITHOUT_THREAD
|
||
|
OPT += -tWM
|
||
|
endif
|
||
|
|
||
|
WINVER ?= 0x0501
|
||
|
DEFS += -DWINVER=$(WINVER)
|
||
|
|
||
|
OUTPUT_OPTION = -o$@
|
||
|
LINK_OUTPUT_OPTION = $@
|
||
|
CPPFLAGS = $(DEFS) $(OPT) $(INCLUDES)
|
||
|
|
||
|
CDEPFLAGS = -E -M
|
||
|
CCDEPFLAGS = -E -M
|
||
|
RCFLAGS = -32 -r -i${STLPORT_INCLUDE_DIR} -dCOMP=bcc
|
||
|
|
||
|
release-shared : RCFLAGS += -dBUILD_INFOS="-O2 -vi-"
|
||
|
dbg-shared : RCFLAGS += -dBUILD=d -dBUILD_INFOS="-R -v -y -D_DEBUG"
|
||
|
stldbg-shared : RCFLAGS += -dBUILD=stld -dBUILD_INFOS="-R -v -y -D_DEBUG -D_STLP_DEBUG"
|
||
|
RC_OUTPUT_OPTION = -fo$@
|
||
|
|
||
|
COMPILE.rc = ${RC} ${RCFLAGS}
|
||
|
LINK.cc = ilink32 $(subst /,\\,$(LDFLAGS))
|
||
|
|
||
|
LDFLAGS += -ap -D -Gn
|
||
|
|
||
|
dbg-static : DEFS += -D_DEBUG
|
||
|
dbg-shared : DEFS += -D_DEBUG
|
||
|
stldbg-static : DEFS += -D_DEBUG
|
||
|
stldbg-shared : DEFS += -D_DEBUG
|
||
|
|
||
|
# STLport DEBUG mode specific defines
|
||
|
stldbg-static : DEFS += -D_STLP_DEBUG
|
||
|
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||
|
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||
|
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||
|
|
||
|
# optimization and debug compiler flags
|
||
|
release-static : OPT += -O2 -vi-
|
||
|
release-shared : OPT += -O2 -vi-
|
||
|
|
||
|
LDLIBS += import32.lib kernel32.lib
|
||
|
ifndef WITHOUT_THREAD
|
||
|
ifndef WITH_STATIC_RTL
|
||
|
release-shared : LDLIBS += cw32mti.lib
|
||
|
dbg-shared : LDLIBS += cw32mti.lib
|
||
|
stldbg-shared : LDLIBS += cw32mti.lib
|
||
|
else
|
||
|
release-shared : LDLIBS += cw32mt.lib
|
||
|
dbg-shared : LDLIBS += cw32mt.lib
|
||
|
stldbg-shared : LDLIBS += cw32mt.lib
|
||
|
endif
|
||
|
ifndef WITH_DYNAMIC_RTL
|
||
|
release-static : LDLIBS += cw32mt.lib
|
||
|
dbg-static : LDLIBS += cw32mt.lib
|
||
|
stldbg-static : LDLIBS += cw32mt.lib
|
||
|
else
|
||
|
release-static : LDLIBS += cw32mti.lib
|
||
|
dbg-static : LDLIBS += cw32mti.lib
|
||
|
stldbg-static : LDLIBS += cw32mti.lib
|
||
|
endif
|
||
|
else
|
||
|
ifndef WITH_STATIC_RTL
|
||
|
release-shared : LDLIBS += cw32i.lib
|
||
|
dbg-shared : LDLIBS += cw32i.lib
|
||
|
stldbg-shared : LDLIBS += cw32i.lib
|
||
|
else
|
||
|
release-shared : LDLIBS += cw32.lib
|
||
|
dbg-shared : LDLIBS += cw32.lib
|
||
|
stldbg-shared : LDLIBS += cw32.lib
|
||
|
endif
|
||
|
ifndef WITH_DYNAMIC_RTL
|
||
|
release-static : LDLIBS += cw32.lib
|
||
|
dbg-static : LDLIBS += cw32.lib
|
||
|
stldbg-static : LDLIBS += cw32.lib
|
||
|
else
|
||
|
release-static : LDLIBS += cw32i.lib
|
||
|
dbg-static : LDLIBS += cw32i.lib
|
||
|
stldbg-static : LDLIBS += cw32i.lib
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
# map output option (see build/Makefiles/gmake/dmc.mak)
|
||
|
|
||
|
MAP_OUTPUT_OPTION =
|
||
|
|
||
|
else # linux
|
||
|
|
||
|
CXX := bc++
|
||
|
CC := bc++
|
||
|
|
||
|
DEFS ?=
|
||
|
OPT ?=
|
||
|
|
||
|
CFLAGS = -q -ff -xp -w-par
|
||
|
CXXFLAGS = -q -ff -xp -w-aus
|
||
|
|
||
|
DEFS += -D_NO_VCL
|
||
|
|
||
|
release-shared: DEFS += -D_RTLDLL
|
||
|
dbg-shared: DEFS += -D_RTLDLL
|
||
|
stldbg-shared: DEFS += -D_RTLDLL
|
||
|
|
||
|
OPT += -w-ccc -w-rch -w-ngu -w-inl -w-eff
|
||
|
|
||
|
ifdef WITHOUT_RTTI
|
||
|
OPT += -RT-
|
||
|
endif
|
||
|
|
||
|
ifndef WITHOUT_THREAD
|
||
|
DEFS += -D__MT__
|
||
|
endif
|
||
|
|
||
|
OUTPUT_OPTION = -o$@
|
||
|
LINK_OUTPUT_OPTION = $@
|
||
|
CPPFLAGS = $(DEFS) $(OPT) $(INCLUDES)
|
||
|
|
||
|
LINK.cc = ilink $(LDFLAGS)
|
||
|
|
||
|
LDFLAGS += -Gn
|
||
|
|
||
|
dbg-static : DEFS += -D_DEBUG
|
||
|
dbg-shared : DEFS += -D_DEBUG
|
||
|
stldbg-static : DEFS += -D_DEBUG
|
||
|
stldbg-shared : DEFS += -D_DEBUG
|
||
|
|
||
|
# STLport DEBUG mode specific defines
|
||
|
stldbg-static : DEFS += -D_STLP_DEBUG
|
||
|
stldbg-shared : DEFS += -D_STLP_DEBUG
|
||
|
stldbg-static-dep : DEFS += -D_STLP_DEBUG
|
||
|
stldbg-shared-dep : DEFS += -D_STLP_DEBUG
|
||
|
|
||
|
# optimization and debug compiler flags
|
||
|
release-static : OPT += -O2 -vi-
|
||
|
release-shared : OPT += -O2 -vi-
|
||
|
|
||
|
dbg-static : OPT += -R -v -y
|
||
|
dbg-shared : OPT += -R -v -y
|
||
|
stldbg-static : OPT += -R -v -y
|
||
|
stldbg-shared : OPT += -R -v -y
|
||
|
|
||
|
ifndef WITHOUT_THREAD
|
||
|
|
||
|
ifdef LIBNAME
|
||
|
release-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
|
||
|
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
|
||
|
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a
|
||
|
endif
|
||
|
|
||
|
ifdef PRGNAME
|
||
|
release-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlport.so
|
||
|
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlportg.so
|
||
|
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libpthread.so.0 libc.so.6 libm.so libdl.so ../../../lib/libstlportstlg.so
|
||
|
release-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlport.a
|
||
|
dbg-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportg.a
|
||
|
stldbg-static : LDLIBS += libborcrtl.a libborunwind.a libpthread.so.0 libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportstlg.a
|
||
|
endif
|
||
|
|
||
|
else # single-threaded
|
||
|
|
||
|
ifdef LIBNAME
|
||
|
release-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
|
||
|
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
|
||
|
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so libc_nonshared.a
|
||
|
endif
|
||
|
|
||
|
ifdef PRGNAME
|
||
|
release-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlport.so
|
||
|
dbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlportg.so
|
||
|
stldbg-shared : LDLIBS += libborcrtl.so libborunwind.so libc.so.6 libm.so libdl.so ../../../lib/libstlportstlg.so
|
||
|
release-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlport.a
|
||
|
dbg-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportg.a
|
||
|
stldbg-static : LDLIBS += libborcrtl.a libborunwind.a libc.so.6 libm.so libdl.so libc_nonshared.a ../../../lib/libstlportst$
|
||
|
endif
|
||
|
|
||
|
endif
|
||
|
|
||
|
# install dir defaults to /usr/local unless defined
|
||
|
|
||
|
BASE_INSTALL_DIR ?= ${SRCROOT}/..
|
||
|
|
||
|
endif # linux
|
||
|
|
||
|
ifdef EXTRA_CXXFLAGS
|
||
|
CXXFLAGS += $(EXTRA_CXXFLAGS)
|
||
|
endif
|
||
|
|
||
|
ifdef EXTRA_CFLAGS
|
||
|
CFLAGS += $(EXTRA_CFLAGS)
|
||
|
endif
|
||
|
|
||
|
# dependency output parser (dependencies collector)
|
||
|
DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
|
||
|
[ -s $@ ] || rm -f $@
|
||
|
|
||
|
DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
|
||
|
[ -s $@ ] || rm -f $@
|
||
|
|
||
|
DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
|
||
|
[ -s $@ ] || rm -f $@
|
||
|
|