mirror of
https://github.com/boostorg/build.git
synced 2026-02-16 13:22:11 +00:00
113 lines
3.3 KiB
Plaintext
113 lines
3.3 KiB
Plaintext
# (C) Copyright Rene Rivera 2002. Permission to copy, use,
|
|
# modify, sell and distribute this software is granted provided this
|
|
# copyright notice appears in all copies. This software is provided
|
|
# "as is" without express or implied warranty, and with no claim as
|
|
# to its suitability for any purpose.
|
|
|
|
|
|
# singleton variables...
|
|
#> set-as-singleton _XX_ ;
|
|
|
|
# For adding framwork libraries; like <framework>Python, <framework>Carbon, etc.
|
|
free-feature framework ;
|
|
|
|
flags darwin CFLAGS <cflags> ;
|
|
flags darwin C++FLAGS <cxxflags> ;
|
|
flags darwin DEFINES <define> ;
|
|
flags darwin UNDEFS <undef> ;
|
|
flags darwin HDRS <include> ;
|
|
flags darwin STDHDRS <sysinclude> ;
|
|
flags darwin LINKFLAGS <linkflags> ;
|
|
flags darwin LIBPATH <library-path> ;
|
|
flags darwin NEEDLIBS <library-file> ;
|
|
flags darwin FINDLIBS <find-library> ;
|
|
flags darwin ARFLAGS <arflags> ;
|
|
flags darwin TARGET_TYPE <target-type> ;
|
|
flags darwin FRAMEWORKS <framework> ;
|
|
flags darwin DLLVERSION <dllversion> ;
|
|
|
|
ARFLAGS ?= "" ;
|
|
FRAMEWORKS += System ;
|
|
DLLVERSION = $(DLLVERSION[1]) ;
|
|
DLLVERSION ?= $(BOOST_VERSION) ;
|
|
|
|
flags darwin LINKFLAGS <runtime-link>static : -static ;
|
|
flags darwin CFLAGS <debug-symbols>on : -g ;
|
|
flags darwin LINKFLAGS <debug-symbols>on : -g ;
|
|
flags darwin LINKFLAGS <debug-symbols>off : -s ;
|
|
flags darwin CFLAGS <optimization>off : -O0 ;
|
|
flags darwin CFLAGS <optimization>speed : -O3 ;
|
|
flags darwin CFLAGS <optimization>space : -Os ;
|
|
flags darwin CFLAGS <inlining>off : -fno-inline ;
|
|
flags darwin CFLAGS <inlining>on : -Wno-inline ;
|
|
flags darwin CFLAGS <inlining>full : -finline-functions -Wno-inline ;
|
|
flags darwin CFLAGS <profiling>on : -pg ;
|
|
flags darwin LINKFLAGS <profiling>on : -pg ;
|
|
flags darwin C++FLAGS <rtti>off : -fno-rtti ;
|
|
flags darwin C++FLAGS <vtable-thunks>on : -fvtable-thunks ;
|
|
flags darwin C++FLAGS <vtable-thunks>off : -fvtable-thunks=0 ;
|
|
flags darwin CFLAGS <shared-linkable>true : -fno-common ;
|
|
flags darwin LINKFLAGS <target-type>$(SHARED_TYPES) : -bundle -undefined warning -flat_namespace ;
|
|
|
|
|
|
#### Link ####
|
|
|
|
rule Link-action
|
|
{
|
|
_ on $(<) = " " ;
|
|
if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES)
|
|
{
|
|
DLLFLAGS on $(<) = "-compatability_version $(DLLVERSION) -current_version $(DLLVERSION)" ;
|
|
}
|
|
else
|
|
{
|
|
DLLFLAGS on $(<) = ;
|
|
}
|
|
DEPENDS $(<) : $(NEEDLIBS) $(NEEDIMPS) ;
|
|
darwin-Link-action $(<) : $(>) ;
|
|
}
|
|
|
|
actions darwin-Link-action bind NEEDLIBS NEEDIMPS
|
|
{
|
|
$(SHELL_SET)$(gSHELL_LIBPATH)=$(RUN_LD_LIBRARY_PATH)
|
|
$(SHELL_EXPORT)$(gSHELL_LIBPATH)
|
|
c++ $(LINKFLAGS) -o "$(<[1])" -L"$(LIBPATH:T)" -L"$(STDLIBPATH:T)" "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) $(DLLFLAGS) -framework$(_)$(FRAMEWORKS)
|
|
}
|
|
|
|
#### Cc #####
|
|
|
|
rule Cc-action
|
|
{
|
|
_ on $(<) = " " ;
|
|
darwin-Cc-action $(<) : $(>) ;
|
|
}
|
|
|
|
actions darwin-Cc-action
|
|
{
|
|
cc -c -Wall -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -isystem$(_)"$(STDHDRS)" -o "$(<)" "$(>)"
|
|
}
|
|
|
|
#### C++ ####
|
|
rule C++-action
|
|
{
|
|
_ on $(<) = " " ;
|
|
darwin-C++-action $(<) : $(>) ;
|
|
}
|
|
|
|
actions darwin-C++-action
|
|
{
|
|
c++ -c -Wall -ftemplate-depth-100 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -isystem$(_)"$(STDHDRS)" -o "$(<)" "$(>)"
|
|
}
|
|
|
|
#### Archive ####
|
|
|
|
rule Archive-action
|
|
{
|
|
darwin-Archive-action $(<) : $(>) ;
|
|
}
|
|
|
|
actions updated together piecemeal darwin-Archive-action
|
|
{
|
|
c++ -r $(ARFLAGS) -o "$(<:T)" "$(>:T)"
|
|
}
|