# # $Id$ # # This file is maintained by the EPICS community. # Compiler and utility invocation (supply path to compiler here) # (with warning flags built in) # Paths to compilers # BUILD_TYPE # Currently either Vx or Unix BUILD_TYPE = Unix GCC = gcc ACC = acc SUNCC = cc AR = ar ARFLAGS = r ARCMD = $(AR) $(ARFLAGS) RANLIB = ranlib RANLIBFLAGS = -t YACC = $(EYACC) LEX = $(ELEX) G++ = g++ CCC = CC MV = mv RMDIR = rm -rf MKDIR = mkdir CHMOD = "/bin/chmod" WHAT = what ACC_ANSI_INVOKE_W_NO = $(ACC) -Xa -w ACC_ANSI_INVOKE_W_YES = $(ACC) -Xa ACC_TRAD_INVOKE_W_NO = $(ACC) -Xs -w ACC_TRAD_INVOKE_W_YES = $(ACC) -Xs ACC_STRICT_INVOKE_W_NO = $(ACC) -Xc -w ACC_STRICT_INVOKE_W_YES = $(ACC) -Xc SUNCC_TRAD_INVOKE_W_NO = $(SUNCC) -w SUNCC_TRAD_INVOKE_W_YES = $(SUNCC) GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi GCC_STRICT_INVOKE_W_NO = $(GCC) -ansi -pedantic GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional C_OLD = $($(STANDARD)_TRAD_INVOKE_W_$(UNIX_WARN)) C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN)) C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES) CC = $(C_$(CMPLR)) CCC_NORMAL_INVOKE_W_NO = $(CCC) +p CCC_NORMAL_INVOKE_W_YES = $(CCC) +p +w CCC_STRICT_INVOKE_W_YES = $(CCC) +p +w CCC_LD_FLAGS = CCC_LD_LIBS = CCC_TEMPL_INST_FLAG = G++_NORMAL_INVOKE_W_NO = $(G++) -ansi -pedantic -w G++_NORMAL_INVOKE_W_YES = $(G++) -ansi -pedantic -Wall G++_STRICT_INVOKE_W_YES = $(G++) -ansi -pedantic -Wtraditional -Wall \ -Wmissing-prototypes -Woverloaded-virtual \ -Wwrite-strings -Wconversion -Wstrict-prototypes\ -Wpointer-arith -Winline G++_TEMPL_INST_FLAG = -DEXPL_TEMPL CXX_NORMAL = $($(CPLUSPLUS)_NORMAL_INVOKE_W_$(UNIX_WARN)) CXX_STRICT = $($(CPLUSPLUS)_STRICT_INVOKE_W_YES) TEMPL_INST_CXXFLAG = $($(CPLUSPLUS)_TEMPL_INST_FLAG) # GNU make likes CXX instead of CCC CXX = $(CXX_$(CXXCMPLR)) # Static Build options ACC_SFLAGS_YES= -Bstatic ACC_SFLAGS_NO= CC_SFLAGS_YES= -Bstatic CC_SFLAGS_NO= GCC_SFLAGS_YES= -static GCC_SFLAGS_NO= SF_OLD = $($(STANDARD)_SFLAGS_$(STATIC_BUILD)) SF_ANSI = $($(ANSI)_SFLAGS_$(STATIC_BUILD)) SF_STRICT = $(SF_ANSI) UNIX_SFLAGS = $(SF_$(CMPLR)) # Optimization OPTIM_YES = -O OPTIM_NO = UNIX_OPT_FLAGS = $(OPTIM_$(UNIX_OPT)) # Include files UNIX_INCLUDES = -I. -I.. $(USR_INCLUDES) -I$(INSTALL_INCLUDE) -I$(EPICS_BASE_INCLUDE) \ -I$(EPICS_BASE_INCLUDE)/os/$(T_A) # Operating system flags OP_SYS_FLAGS = -DUNIX UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) UNIX_LDLIBS = -lm ARCH_DEP_CFLAGS = -D_X86_ -Dlinux ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS) UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(OP_SYS_FLAGS) UNIX_CXXFLAGS = $(UNIX_CFLAGS) # Target specific flags TARGET_CFLAGS = $($(basename $@)_CFLAGS) TARGET_CXXFLAGS = $($(basename $@)_CXXFLAGS) TARGET_CPPFLAGS = $($(basename $@)_CPPFLAGS) TARGET_LDFLAGS = $($(basename $@)_LDFLAGS) TARGET_LDLIBS = $($(basename $@)_LDLIBS) TARGET_SNCFLAGS = $($(basename $@)_SNCFLAGS) CFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(UNIX_CFLAGS) CXXFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS) \ $(ARCH_DEP_CXXFLAGS) $(UNIX_CXXFLAGS) $(TEMPL_INST_CXXFLAG) CPPFLAGS += $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS) LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS) # Override SUN defaults COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) > .DEPENDS DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.Linux