# CONFIG.darwinCommon.darwinCommon # # Revision-Id: anj@aps.anl.gov-20101005192737-disfz3vs0f3fiixd # This file is maintained by the build community. # # Common definitions for darwin builds # Sites may override these definitions in CONFIG_SITE.darwinCommon.darwinCommon #------------------------------------------------------- # Include definitions common to all Unix targets include $(CONFIG)/os/CONFIG.Common.UnixCommon # Include common gnu compiler definitions include $(CONFIG)/CONFIG.gnuCommon # # Set OS-specific information # OS_CLASS = Darwin # # Build architecture flags # For Darwin, ARCH_CLASS may be empty, or may contain a list of CPU # architectures which must be valid arguments to the -arch options # for the cc and ld commands. # ARCH_CLASS is defined in a CONFIG_SITE file which is not loaded # until after this file. # ARCH_DEP_FLAGS = $(addprefix -arch ,$(ARCH_CLASS)) ARCH_DEP_CFLAGS += $(ARCH_DEP_FLAGS) ARCH_DEP_LDFLAGS += $(ARCH_DEP_FLAGS) # # Special flags for Darwin # No common blocks (as required when using shared libraries) # OP_SYS_CFLAGS += -fno-common # # Don't try to use precompiled headers when converting sequencer files # CPPSNCFLAGS += -no-cpp-precomp # # Darwin os definition # OP_SYS_CPPFLAGS += -Ddarwin # # Always compile in debugging symbol table information # OPT_CFLAGS_YES += -g OPT_CXXFLAGS_YES += -g # # The following two definitions enable the use of DarwinPorts packages. # OP_SYS_INCLUDES += -I/opt/local/include # dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /opt/local/lib/*)))) # # The following two definitions enable the use of Fink packages. # OP_SYS_INCLUDES += -I/sw/include # dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /sw/lib/*)))) # # Libraries for command-line editing. # LDLIBS_READLINE = -lreadline # # Command-line input support # COMMANDLINE_LIBRARY=READLINE GNU_DIR = /usr CC = $(GNU_BIN)/cc CCC = $(GNU_BIN)/c++ # # Darwin shared libraries # SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION) SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \ -install_name $(shell perl $(TOOLS)/fullPathName.pl $(INSTALL_LIB))/$@ \ -compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \ -current_version $(SHRLIB_VERSION) SHRLIB_SUFFIX = .$(SHRLIB_VERSION).dylib LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined suppress # # Position-independent code is the default on Darwin. # CODE_CFLAGS = CODE_CXXFLAGS = # # Add support for Objective-C source # vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS) %.o: %.m $(COMPILE.c) -c $< # # Header dependency file generation # # Use GNU compiler flags when ARCH_CLASS is a single arch value # otherwise use perl script command SINGLE_ARCH=$(filter 1,$(words $(ARCH_CLASS))) HDEPENDS_CFLAGS = $(if $(SINGLE_ARCH),$(HDEPENDS_CFLAGS_$(HDEPENDS))) HDEPENDS_METHOD = $(if $(SINGLE_ARCH),CFLAGS,CMD) #-------------------------------------------------- # Allow site overrides -include $(CONFIG)/os/CONFIG_SITE.darwinCommon.darwinCommon -include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).darwinCommon