1 # This file should allow ACE to be built on Linux, using the clang compiler.
3 include $(ACE_ROOT)/include/makeinclude/platform_linux_common.GNU
13 CXX_VERSION := $(shell $(CXX) -dumpversion)
15 ifeq (cmd,$(findstring cmd,$(SHELL)))
16 CXX_MAJOR_VERSION := $(firstword $(subst ., ,$(CXX_VERSION)))
18 CXX_MAJOR_VERSION := $(shell $(CXX) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/\..*$$//')
42 ifeq ($(no_deprecated),1)
43 CCFLAGS += -Wno-deprecated-declarations
46 SOFLAGS += $(CPPFLAGS) -shared
47 SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<; \
48 $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o
51 # Visibility doesn't seem to work with clang 2.8, default to off
52 no_hidden_visibility ?= 1
54 ifeq ($(shared_libs), 1)
55 ifneq ($static_libs_only), 1)
57 ifneq ($(no_hidden_visibility),1)
58 CCFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
60 CPPFLAGS += -DACE_HAS_CUSTOM_EXPORT_MACROS=0
61 endif # no_hidden_visibility
65 # Added line below to support "Executable Shared Object" files (as
66 # needed by the service configurator).
67 # Marius Kjeldahl <mariusk@sn.no, marius@funcom.com>
69 ESOBUILD = $(COMPILEESO.cc) $(PIC) -shared -o $(VSHDIR)$*.so $<