diff options
Diffstat (limited to 'cpp/options.mk')
-rw-r--r-- | cpp/options.mk | 86 |
1 files changed, 46 insertions, 40 deletions
diff --git a/cpp/options.mk b/cpp/options.mk index 59933fafd0..51dca456e9 100644 --- a/cpp/options.mk +++ b/cpp/options.mk @@ -1,39 +1,49 @@ - # - # Copyright (c) 2006 The Apache Software Foundation - # - # Licensed under the Apache License, Version 2.0 (the "License"); - # you may not use this file except in compliance with the License. - # You may obtain a copy of the License at - # - # http://www.apache.org/licenses/LICENSE-2.0 - # - # Unless required by applicable law or agreed to in writing, software - # distributed under the License is distributed on an "AS IS" BASIS, - # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - # See the License for the specific language governing permissions and - # limitations under the License. - # - -## Build platform and type defaults -TYPE := debug -PLATFORM := apr - -# Local options, may override PLATFORM and/or TYPE +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Use APR by default till Posix is complete. +USE_APR := 1 + +# Local options. -include options-local.mk -## Platform specific options - -# apr: Apache Portable Runtime. -CXXFLAGS_apr := -I/usr/local/apr/include -LDFLAGS_apr := -L/usr/local/apr/lib -lapr-1 +## Release vs. debug build. +ifdef RELEASE +BUILD := release +CXXFLAGS := $(CXXFLAGS) -O3 -DNDEBUG +else +BUILD := debug +CXXFLAGS := $(CXXFLAGS) -ggdb3 +endif -# posix: Native posix implementation -CXXFLAGS_posix := -LDFLAGS_posix := +## Platform specific options +ifdef USE_APR +PLATFORM := apr +IGNORE := posix +CXXFLAGS := $(CXXFLAGS) -DUSE_APR -I/usr/local/apr/include +LDFLAGS := $(LDFLAGS) -L/usr/local/apr/lib -lapr-1 +else +PLATFORM := posix +IGNORE := apr +LDFLAGS := $(LDFLAGS) -lpthread -lrt +endif ## Build directories. -BUILD=$(PLATFORM)-$(TYPE) +BUILD :=$(PLATFORM)-$(BUILD) GENDIR:=build/gen BINDIR:=build/$(BUILD)/bin LIBDIR:=build/$(BUILD)/lib @@ -51,23 +61,19 @@ EXTRA_LIBDIRS := ## Compile flags -# Release vs. debug flags. -CXXFLAGS_debug := -ggdb3 -CXXFLAGS_release := -O3 -DNDEBUG - # Warnings: Enable as many as possible, keep the code clean. Please # do not disable warnings or remove -Werror without discussing on # qpid-dev list. # # The following warnings deliberately omitted, they warn on valid code. -# -Wno-unreachable-code -Wpadded -Winline +# -Wunreachable-code -Wpadded -Winline +# -Wshadow - warns about boost headers. # -WARN := -Werror -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -Winvalid-pch +WARN := -Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -Winvalid-pch -Wno-system-headers -INCLUDES := $(SRCDIRS:%=-I%) $(EXTRA_INCLUDES) -DEFINES := -DPLATFORM=$(PLATFORM) -LDFLAGS := -L$(LIBDIR) $(LDFLAGS_$(PLATFORM)) -CXXFLAGS := $(DEFINES) $(WARN) -MMD -fpic $(INCLUDES) $(CXXFLAGS_$(PLATFORM)) $(CXXFLAGS_$(TYPE)) +INCLUDES := $(SRCDIRS:%=-I%) $(EXTRA_INCLUDES) +LDFLAGS := $(LDFLAGS) -L$(LIBDIR) +CXXFLAGS := $(CXXFLAGS) $(WARN) -MMD -fpic $(INCLUDES) ## Macros for linking, must be late evaluated |