# # $Id$ # # This file is maintained by the EPICS community. # BUILD_TYPE # Currently either Vx or Host BUILD_TYPE = Host ARCH_CLASS = solaris # Compiler and utility invocation (supply path to compiler here) # (with warning flags built in) # Paths to compilers GCC = /opt/gnu/bin/gcc ACC = $(SPARCWORKS)/bin/cc # SUNCC doesn't exist under Solaris # # required by sun's C++ compiler # AR = ar _AR = $(AR) $(ARFLAGS) G++_AR = $(_AR) CCC_AR = $(CCC) -xar -o ARCMD = $($(CPLUSPLUS)_AR) RANLIB = YACC = $(EYACC) LEX = $(ELEX) G++ = /opt/gnu/bin/g++ CCC = /opt/SUNWspro/bin/CC CP=cp MV=mv RM=rm -f MKDIR=mkdir RMDIR=rm -rf CHMOD = "/bin/chmod" WHAT = what EXE= OBJ=.o ACC_ANSI_INVOKE_W_NO = $(ACC) -Xa -w ACC_ANSI_INVOKE_W_YES = $(ACC) -Xa ACC_STRICT_INVOKE_W_YES = $(ACC) -Xc -v ACC_TRAD_INVOKE_W_NO = $(ACC) -Xs -w ACC_TRAD_INVOKE_W_YES = $(ACC) -Xs ACC_LD_FLAGS = ACC_LD_LIBS = SUNCC_TRAD_INVOKE_W_NO = $(ACC_TRAD_INVOKE_W_NO) SUNCC_TRAD_INVOKE_W_YES = $(ACC_TRAD_INVOKE_W_YES) GCC_ANSI_INVOKE_W_NO = $(GCC) -ansi -w GCC_ANSI_INVOKE_W_YES = $(GCC) -ansi GCC_STRICT_INVOKE_W_YES = $(GCC) -ansi -Wall -pedantic GCC_TRAD_INVOKE_W_NO = $(GCC) -traditional -w GCC_TRAD_INVOKE_W_YES = $(GCC) -traditional GCC_LD_LIBS = GCC_LD_FLAGS = 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)) LD_LIBS_OLD = $($(STANDARD)_LD_LIBS) LD_LIBS_ANSI = $($(ANSI)_LD_LIBS) LD_LIBS_STRICT = $($(ANSI)_LD_LIBS) CCOMPILER_LDLIBS = $(LD_LIBS_$(CMPLR)) LD_FLAGS_OLD = $($(STANDARD)_LD_FLAGS) LD_FLAGS_ANSI = $($(ANSI)_LD_FLAGS) LD_FLAGS_STRICT = $($(ANSI)_LD_FLAGS) CCOMPILER_LDFLAGS = $(LD_FLAGS_$(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 = -L$(SPECIAL_LANG) 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= -dn ACC_SFLAGS_YES= -Bstatic ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX ACC_SLIBS_NO= ACC_SFLAGS_NO= CC_SFLAGS_YES= -dn 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)) SL_OLD = $($(STANDARD)_SLIBS_$(STATIC_BUILD)) SL_ANSI = $($(ANSI)_SLIBS_$(STATIC_BUILD)) SL_STRICT = $(SL_ANSI) UNIX_SLIBS = $(SL_$(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) $(CCOMPILER_LDFLAGS) UNIX_LDLIBS = $(UNIX_SLIBS) -lm $(CCOMPILER_LDLIBS) # Architecture specific build flags ARCH_DEP_CFLAGS = -DSOLARIS ARCH_DEP_CXXFLAGS = $(ARCH_DEP_CFLAGS) ARCH_DEP_LDLIBS = -lsocket -lnsl # -lsocket needed by libca.a # -lnsl needed by libca.a 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 # Unlike the 'Unix' makesystem, output flags -o .. are now part of LINK.c[c] LINK.c = $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) LINK.cc = $(CXX) -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) DEPENDS_RULE.c = -$(COMPILE.c) -xM $(SRCS.c) > .DEPENDS DEPENDS_RULE.cc = -$(COMPILE.cc) -xM $(SRCS.cc) >> .DEPENDS