diff --git a/config/CONFIG b/config/CONFIG new file mode 100644 index 000000000..831ae2a75 --- /dev/null +++ b/config/CONFIG @@ -0,0 +1,50 @@ +# +# $Id$ +# +# The developer may edit this file. + +# Site-specific build options +# +include $(EPICS_BASE)/config/CONFIG_SITE + +# EPICS base definitions +# +include $(EPICS_BASE)/config/CONFIG_COMMON + +ifdef T_A + +# Architecture specific definitions +# BUILD_TYPE and ARCH_CLASS are defined +# in this file. +# +include $(EPICS_BASE)/config/CONFIG_ARCH.$(T_A) + + +# Site-specific "class" definitions +# +include $(EPICS_BASE)/config/CONFIG_SITE.$(BUILD_TYPE).$(ARCH_CLASS) + +# Definitions common to a "class" of architectures +# +include $(EPICS_BASE)/config/CONFIG.$(BUILD_TYPE).$(ARCH_CLASS) + +endif + +# All EPICS options other than BUILD_TYPE, and ARCH_CLASS +# may be overridden here. +# +# EXAMPLES +# -------- +# Build client objects statically ? must be either YES or NO +#STATIC_BUILD=NO +# Unix Optimization, must be either YES or NO +#UNIX_OPT=YES +# VxWorks Optimization, must be either YES or NO +#VX_OPT=YES +# Generate Verbose Compiler Warnings for Unix, must be either YES or NO +#UNIX_WARN=YES +# Generate Verbose Compiler Warnings for VxWorks, must be either YES or NO +#VX_WARN=YES +#etc. +# + diff --git a/config/CONFIG.Unix.Linux b/config/CONFIG.Unix.Linux new file mode 100644 index 000000000..3932defd4 --- /dev/null +++ b/config/CONFIG.Unix.Linux @@ -0,0 +1,104 @@ +# +# $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 + +GCC = gcc +ACC = acc +SUNCC = cc +# OLDINSTALL def used in pre R3.12.2.2 releases +OLDINSTALL = install +AR = ar +ARFLAGS = r +RANLIB = ranlib +RANLIBFLAGS = -t +YACC = $(EYACC) +LEX = $(ELEX) +G++ = g++ +CCC = CC + +ACC_ANSI_INVOKE_W_NO = $(ACC) -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)) + +# 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.. -I$(EPICS_BASE_INCLUDE) + +# Operating system flags +OP_SYS_FLAGS = -DUNIX + +ifdef SPECIAL_LANG +SPECIAL_LDFLAGS = -L$(SPECIAL_LANG) +endif +UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) +UNIX_LDLIBS = -lm + +ARCH_DEP_CFLAGS = -D_X86_ -Dlinux +ARCH_DEP_CCFLAGS = $(ARCH_DEP_CFLAGS) +UNIX_CFLAGS = $(UNIX_SFLAGS) $(USR_INCLUDES) $(UNIX_INCLUDES) $(OP_SYS_FLAGS) + +UNIX_CCFLAGS = $(UNIX_CFLAGS) + +# Target specific flags +TARGET_CFLAGS = $($(basename $@)_CFLAGS) +TARGET_CCFLAGS = $($(basename $@)_CCFLAGS) +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) +CCFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CCFLAGS) $(USR_CCFLAGS) $(ARCH_DEP_CCFLAGS) $(UNIX_CCFLAGS) + +# GNU make likes CXX instead of CCC +CXXFLAGS = $(CCFLAGS) +CXX =$($(CPLUSPLUS)) + +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) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) + +DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) >> .DEPENDS +DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.Unix.Linux diff --git a/config/CONFIG.Unix.alpha b/config/CONFIG.Unix.alpha new file mode 100644 index 000000000..c421be521 --- /dev/null +++ b/config/CONFIG.Unix.alpha @@ -0,0 +1,95 @@ +# CONFIG.Unix.alpha +# +# 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 +GCC = gcc +ACC = cc -std +TRADCC = cc -traditional +# OLDINSTALL def used in releases prior to R3.12.2.2 +OLDINSTALL = installbsd +AR = ar +RANLIB = ranlib +YACC = $(EYACC) +LEX = $(ELEX) +G++ = g++ +CCC = CC + +ACC_ANSI_INVOKE_W_NO = $(ACC) -w +ACC_ANSI_INVOKE_W_YES = $(ACC) +ACC_STRICT_INVOKE_W_YES = $(ACC) -stdl -w +ACC_STRICT_INVOKE_W_NO = $(ACC) -stdl +ACC_TRAD_INVOKE_W_NO = $(ACC) -w +ACC_TRAD_INVOKE_W_YES = $(ACC) +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)) + +# Static Build options +ACC_SFLAGS_YES= -non_shared +ACC_SFLAGS_NO= -call_shared +CC_SFLAGS_YES= -non_shared +CC_SFLAGS_NO= -call_shared +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.. -I$(EPICS_BASE_INCLUDE) + +# Operating system flags +OP_SYS_FLAGS = -DUNIX + +SPECIAL_LDFLAGS = +UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) +UNIX_LDLIBS = -lm + +ARCH_DEP_CFLAGS = -D_OSF_SOURCE -DLITTLE_ENDIAN +ARCH_DEP_CCFLAGS = $(ARCH_DEP_CFLAGS) +UNIX_CFLAGS = $(UNIX_SFLAGS) $(USR_INCLUDES) $(UNIX_INCLUDES) $(OP_SYS_FLAGS) + +UNIX_CCFLAGS = $(UNIX_CFLAGS) + +# Target specific flags +TARGET_CFLAGS = $($(basename $@)_CFLAGS) +TARGET_CCFLAGS = $($(basename $@)_CCFLAGS) +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) +CCFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CCFLAGS) $(USR_CCFLAGS) $(ARCH_DEP_CCFLAGS) $(UNIX_CCFLAGS) +CXXFLAGS = $(CCFLAGS) +CXX =$($(CPLUSPLUS)) + +LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS) +LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS) + +# Override defaults +COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c +LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +LINK.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) + +DEPEND_RULE.c = @echo echo no DEPENDS_RULE.c defined in CONFIG.Unix.alpha +DEPEND_RULE.cc = @echo echo no DEPENDS_RULE.cc defined in CONFIG.Unix.alpha + diff --git a/config/CONFIG.Unix.hp700 b/config/CONFIG.Unix.hp700 new file mode 100644 index 000000000..76ee565be --- /dev/null +++ b/config/CONFIG.Unix.hp700 @@ -0,0 +1,104 @@ +# CONFIG.Unix.hp700 +# +# 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 +GCC = gcc +ACC = cc -Aa +HPACC = cc -Aa +HPCC = cc -Ac +TRADCC = cc +# OLDINSTALL def used only in releases prior to R3.12.2.2 +OLDINSTALL = bsdinstall +AR = ar +RANLIB = ranlib +YACC = $(EYACC) +LEX = $(ELEX) +G++ = g++ +CCC = CC + +ACC_ANSI_INVOKE_W_NO = $(ACC) -w +ACC_ANSI_INVOKE_W_YES = $(ACC) +ACC_TRAD_INVOKE_W_NO = $(TRADCC) -w +ACC_TRAD_INVOKE_W_YES = $(TRADCC) +ACC_STRICT_INVOKE_W_NO = $(ACC) -w +ACC_STRICT_INVOKE_W_YES = $(ACC) +HPACC_ANSI_INVOKE_W_NO = $(HPACC) -w +HPACC_ANSI_INVOKE_W_YES = $(HPACC) +HPCC_TRAD_INVOKE_W_NO = $(HPCC) -w +HPCC_TRAD_INVOKE_W_YES = $(HPCC) +HPACC_STRICT_INVOKE_W_NO = $(HPACC) -w +HPACC_STRICT_INVOKE_W_YES = $(HPACC) + +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 + +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)) + +# Static Build options +ACC_SFLAGS_YES= -Wl,-a,archive +ACC_SFLAGS_NO= +CC_SFLAGS_YES= -Wl,-a,archive +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.. -I$(EPICS_BASE_INCLUDE) + +# Operating system flags +OP_SYS_FLAGS = -DUNIX + +SPECIAL_LDFLAGS = +UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) +UNIX_LDLIBS = -lm + +ARCH_DEP_CFLAGS = -D_HPUX_SOURCE -DHP_UX +ARCH_DEP_CCFLAGS = $(ARCH_DEP_CFLAGS) + +UNIX_CFLAGS = $(UNIX_SFLAGS) $(USR_INCLUDES) $(UNIX_INCLUDES) $(OP_SYS_FLAGS) +UNIX_CCFLAGS = $(UNIX_CFLAGS) + +# Target specific flags +TARGET_CFLAGS = $($(basename $@)_CFLAGS) +TARGET_CCFLAGS = $($(basename $@)_CCFLAGS) +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) +CCFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CCFLAGS) $(USR_CCFLAGS) $(ARCH_DEP_CCFLAGS) $(UNIX_CCFLAGS) +CXXFLAGS = $(CCFLAGS) +CXX =$($(CPLUSPLUS)) + +ARFLAGS = rv + +LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS) +LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS) + +# Override defaults +COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c +LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +LINK.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) +DEPEND_RULE.c = @echo echo no DEPENDS_RULE.c defined in CONFIG.Unix.hp700 +DEPEND_RULE.cc = @echo echo no DEPENDS_RULE.cc defined in CONFIG.Unix.hp700 + diff --git a/config/CONFIG.Unix.sgi b/config/CONFIG.Unix.sgi new file mode 100644 index 000000000..fd5053541 --- /dev/null +++ b/config/CONFIG.Unix.sgi @@ -0,0 +1,104 @@ +# +# $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 +GCC = cc +ACC = cc +KRCC = cc -cckr +# OLDINSTALL def used only in pre R3.12.2.2 releases +OLDINSTALL = sgiinstall +AR = ar +ARFLAGS = r +RANLIB = ls +RANLIBFLAGS = +YACC = $(EYACC) +LEX = $(ELEX) +G++ = g++ +CCC = CC + +ACC_ANSI_INVOKE_W_NO = $(ACC) -xansi -w +ACC_ANSI_INVOKE_W_YES = $(ACC) -xansi +ACC_TRAD_INVOKE_W_NO = $(ACC) -Xs -xansi -w +ACC_TRAD_INVOKE_W_YES = $(ACC) -Xs -xansi +KRCC_TRAD_INVOKE_W_NO = $(KRCC) -w +KRCC_TRAD_INVOKE_W_YES = $(KRCC) +ACC_STRICT_INVOKE_W_NO = $(ACC) -ansi -w +ACC_STRICT_INVOKE_W_YES = $(ACC) -ansi +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 = $(KRCC_TRAD_INVOKE_W_$(UNIX_WARN)) +C_ANSI = $($(ANSI)_ANSI_INVOKE_W_$(UNIX_WARN)) +C_STRICT = $($(ANSI)_STRICT_INVOKE_W_YES) +CC = $(C_$(CMPLR)) + +# 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.. -I$(EPICS_BASE_INCLUDE) + +# Operating system flags +OP_SYS_FLAGS = -DUNIX + +ifdef SPECIAL_LANG +SPECIAL_LDFLAGS = -L$(SPECIAL_LANG) +endif +UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) +UNIX_LDLIBS = -lm + +ARCH_DEP_CFLAGS = -DSGI +ARCH_DEP_CCFLAGS = $(ARCH_DEP_CFLAGS) +UNIX_CFLAGS = $(UNIX_SFLAGS) $(USR_INCLUDES) $(UNIX_INCLUDES) $(OP_SYS_FLAGS) + +UNIX_CCFLAGS = $(UNIX_CFLAGS) + +# Target specific flags +TARGET_CFLAGS = $($(basename $@)_CFLAGS) +TARGET_CCFLAGS = $($(basename $@)_CCFLAGS) +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) +CCFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CCFLAGS) $(USR_CCFLAGS) $(ARCH_DEP_CCFLAGS) $(UNIX_CCFLAGS) + +# GNU make likes CXX instead of CCC +CXXFLAGS = $(CCFLAGS) +CXX =$($(CPLUSPLUS)) + +LDFLAGS = $(SPECIAL_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(UNIX_LDFLAGS) +LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(ARCH_DEP_LDLIBS) $(UNIX_LDLIBS) + +# Override defaults +COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c +LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +LINK.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) +LOAD.c = ld -shared $(LDFLAGS) + +DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) >> .DEPENDS +DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.Unix.sgi diff --git a/config/CONFIG.Unix.solaris b/config/CONFIG.Unix.solaris new file mode 100644 index 000000000..32c9fd766 --- /dev/null +++ b/config/CONFIG.Unix.solaris @@ -0,0 +1,110 @@ +# +# $Id$: CONFIG.Unix.solaris,v $ +# +# 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 +GCC = gcc +ACC = $(SPARCWORKS)/bin/cc +# SUNCC doesn't exist under Solaris + +# OLDINSTALL def used only in releases prior to R3.12.2.2 +# use ucb install until a base/tools/installEpics is created +OLDINSTALL = /usr/ucb/install + +AR = ar +RANLIB = +YACC = $(EYACC) +LEX = $(ELEX) +G++ = /opt/gnu/bin/g++ +CCC = /opt/SUNWspro/bin/CC + +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 +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 + +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)) + +# 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.. -I$(EPICS_BASE_INCLUDE) + +# Operating system flags +OP_SYS_FLAGS = -DUNIX + +ifdef SPECIAL_LANG +SPECIAL_LDFLAGS = -L$(SPECIAL_LANG) +endif +UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) +UNIX_LDLIBS = $(UNIX_SLIBS) -lm + +ARCH_DEP_CFLAGS = -DSOLARIS +ARCH_DEP_CCFLAGS = $(ARCH_DEP_CFLAGS) +UNIX_CFLAGS = $(UNIX_SFLAGS) $(UNIX_INCLUDES) $(USR_INCLUDES) $(OP_SYS_FLAGS) + +UNIX_CCFLAGS = $(UNIX_CFLAGS) + +# Target specific flags +TARGET_CFLAGS = $($(basename $@)_CFLAGS) +TARGET_CCFLAGS = $($(basename $@)_CCFLAGS) +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) +CCFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CCFLAGS) $(USR_CCFLAGS) $(ARCH_DEP_CCFLAGS) $(UNIX_CCFLAGS) + +# GNU make likes CXX instead of CCC +CXXFLAGS = $(CCFLAGS) +CXX = $(CCC) + +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) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) + +DEPENDS_RULE.c = -$(COMPILE.c) -xM $(SRCS.c) >> .DEPENDS +DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.Unix.solaris diff --git a/config/CONFIG.Unix.sun4 b/config/CONFIG.Unix.sun4 new file mode 100644 index 000000000..f25f9c50d --- /dev/null +++ b/config/CONFIG.Unix.sun4 @@ -0,0 +1,104 @@ +# +# $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 +GCC = gcc +ACC = /usr/lang/acc +SUNCC = cc +# OLDINSTALL def used only in releases prior to R3.12.2.2 +OLDINSTALL = install +AR = ar +ARFLAGS = r +RANLIB = ranlib +RANLIBFLAGS = -t +YACC = $(EYACC) +LEX = $(ELEX) +G++ = g++ +CCC = /usr/lang/CC + +ACC_ANSI_INVOKE_W_NO = $(ACC) -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 -vc +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)) + +# 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.. -I$(EPICS_BASE_INCLUDE) + +# Operating system flags +OP_SYS_FLAGS = -DUNIX + + +ifdef SPECIAL_LANG +SPECIAL_LDFLAGS = -L$(SPECIAL_LANG) +endif +UNIX_LDFLAGS = -L$(EPICS_BASE_LIB) +UNIX_LDLIBS = -lm + +ARCH_DEP_CFLAGS = -DSUNOS4 +ARCH_DEP_CCFLAGS = $(ARCH_DEP_CFLAGS) +UNIX_CFLAGS = $(UNIX_SFLAGS) $(USR_INCLUDES) $(UNIX_INCLUDES) $(OP_SYS_FLAGS) + +UNIX_CCFLAGS = $(UNIX_CFLAGS) + +# Target specific flags +TARGET_CFLAGS = $($(basename $@)_CFLAGS) +TARGET_CCFLAGS = $($(basename $@)_CCFLAGS) +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) +CCFLAGS = $(UNIX_OPT_FLAGS) $(TARGET_CCFLAGS) $(USR_CCFLAGS) $(ARCH_DEP_CCFLAGS) $(UNIX_CCFLAGS) + +# GNU make likes CXX instead of CCC +CXXFLAGS = $(CCFLAGS) +CXX =$($(CPLUSPLUS)) + +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) $(CCFLAGS) $(CPPFLAGS) $(LDFLAGS) + +DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) >> .DEPENDS +DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.Unix.sun4 diff --git a/config/CONFIG.Vx.68k b/config/CONFIG.Vx.68k new file mode 100644 index 000000000..396f34f50 --- /dev/null +++ b/config/CONFIG.Vx.68k @@ -0,0 +1,71 @@ + +# $Id$ +# +# This file is maintained by the EPICS community. + +# OLDINSTALL def used only for releases prior to R3.12.2.2 +# Unix Compiler and other Utilities +ifeq ($(HOST_ARCH),hp700) +OLDINSTALL = bsdinstall +else +ifeq ($(HOST_ARCH),solaris) +# use ucb install on solaris until a base/tools/installEpics is created +OLDINSTALL = /usr/ucb/install +else +OLDINSTALL = install +endif +endif + +AR = $(VX_GNU_BIN)/ar68k +RANLIB = $(VX_GNU_BIN)/ranlib68k +YACC = $(EYACC) +LEX = $(ELEX) +CC = $(VX_GNU_BIN)/cc68k -B$(VX_GNU_LIB)/gcc-lib/ -nostdinc +CPP = $(VX_GNU_BIN)/cpp68k -nostdinc +#CPP = $(CC) -E +GCC = $(CC) +LD = $(VX_GNU_BIN)/ld68k -r +EPICS_LDLIBS = + +# special c library requirements +SPECIAL_LANG = + +# Compiler flags, don't mess with this +# Optimization flags +VX_OPT_YES = -O +VX_OPT_NO = +VX_OPT_FLAGS = $(VX_OPT_$(VX_OPT)) + +# Include files +VX_INCLUDES = -I. -I.. -I$(EPICS_BASE_INCLUDE) -I$(VX_INCLUDE) + +# Warnings +#At some time we should turn on pedantic +#VX_WARN_YES = -Wall -pedantic +VX_WARN_YES = -W +VX_WARN_NO = +VX_WARN_FLAGS = $(VX_WARN_$(VX_WARN)) + +# Operating system flags +VX_OP_SYS_FLAGS = -DvxWorks -DV5_vxWorks + +# Arch dependent flags are set in CONFIG_ARCH.* +VX_CFLAGS = $(VX_OPT_FLAGS) $(VX_WARN_FLAGS) $(USR_INCLUDES) \ + $(VX_INCLUDES) $(VX_OP_SYS_FLAGS) + +VX_LDFLAGS = -o + +TARGET_CFLAGS = $($(basename $@)_CFLAGS) +TARGET_LDFLAGS = $($(basename $@)_LDFLAGS) + +CFLAGS = $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(VX_CFLAGS) +LDFLAGS = $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(ARCH_DEP_LDFLAGS) $(VX_LDFLAGS) + +# Build compile line here +COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c +LINK.c = $(LD) $(LDFLAGS) + +CPPSNCFLAGS = $(USR_INCLUDES) $(VX_INCLUDES) + +DEPENDS_RULE.c = -$(COMPILE.c) -M $(SRCS.c) >> .DEPENDS +DEPENDS_RULE.cc = @echo no DEPENDS_RULE.cc defined in CONFIG.Vx.68k diff --git a/config/CONFIG.Vx.Linux b/config/CONFIG.Vx.Linux new file mode 100644 index 000000000..0fcc78d9d --- /dev/null +++ b/config/CONFIG.Vx.Linux @@ -0,0 +1,8 @@ + +# $Id$ +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Epics defs + diff --git a/config/CONFIG_ARCH.Linux b/config/CONFIG_ARCH.Linux new file mode 100644 index 000000000..0600db459 --- /dev/null +++ b/config/CONFIG_ARCH.Linux @@ -0,0 +1,19 @@ +# $Id$ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Unix + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = Linux + +# Architecture specific build flags + +ARCH_DEP_LDLIBS = -D_X86_ -Dlinux diff --git a/config/CONFIG_ARCH.alpha b/config/CONFIG_ARCH.alpha new file mode 100644 index 000000000..31cba9b96 --- /dev/null +++ b/config/CONFIG_ARCH.alpha @@ -0,0 +1,18 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Unix + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.alpha +# +ARCH_CLASS = alpha + +# Architecture specific build flags +ARCH_DEP_LDLIBS = + diff --git a/config/CONFIG_ARCH.hkv2f b/config/CONFIG_ARCH.hkv2f new file mode 100644 index 000000000..62eb8b2e1 --- /dev/null +++ b/config/CONFIG_ARCH.hkv2f @@ -0,0 +1,18 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Vx + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = 68k + +# Architecture specific build flags +ARCH_DEP_CFLAGS = -DCPU=MC68020 -m68020 -DCPU_FAMILY=MC680X0 + diff --git a/config/CONFIG_ARCH.hp700 b/config/CONFIG_ARCH.hp700 new file mode 100644 index 000000000..82f082616 --- /dev/null +++ b/config/CONFIG_ARCH.hp700 @@ -0,0 +1,18 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Unix + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.hp700 +# +ARCH_CLASS = hp700 + +# Architecture specific build flags +ARCH_DEP_LDLIBS = + diff --git a/config/CONFIG_ARCH.mv147 b/config/CONFIG_ARCH.mv147 new file mode 100644 index 000000000..602d60822 --- /dev/null +++ b/config/CONFIG_ARCH.mv147 @@ -0,0 +1,18 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Vx + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = 68k + +# Architecture specific build flags +ARCH_DEP_CFLAGS = -DCPU=MC68030 -m68030 -DCPU_FAMILY=MC680X0 + diff --git a/config/CONFIG_ARCH.mv162 b/config/CONFIG_ARCH.mv162 new file mode 100644 index 000000000..acada98aa --- /dev/null +++ b/config/CONFIG_ARCH.mv162 @@ -0,0 +1,18 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Vx + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = 68k + +# Architecture specific build flags +ARCH_DEP_CFLAGS = -DCPU=MC68040 -m68040 -DCPU_FAMILY=MC680X0 + diff --git a/config/CONFIG_ARCH.mv167 b/config/CONFIG_ARCH.mv167 new file mode 100644 index 000000000..acada98aa --- /dev/null +++ b/config/CONFIG_ARCH.mv167 @@ -0,0 +1,18 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Vx + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = 68k + +# Architecture specific build flags +ARCH_DEP_CFLAGS = -DCPU=MC68040 -m68040 -DCPU_FAMILY=MC680X0 + diff --git a/config/CONFIG_ARCH.sgi b/config/CONFIG_ARCH.sgi new file mode 100644 index 000000000..741001b24 --- /dev/null +++ b/config/CONFIG_ARCH.sgi @@ -0,0 +1,17 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Unix + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = sgi + +# Architecture specific build flags + diff --git a/config/CONFIG_ARCH.solaris b/config/CONFIG_ARCH.solaris new file mode 100644 index 000000000..23e8b3c36 --- /dev/null +++ b/config/CONFIG_ARCH.solaris @@ -0,0 +1,23 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Unix + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = solaris + +# Architecture specific build flags +ARCH_DEP_LDLIBS = -lsocket -lnsl -lgen +# -lsocket needed by libca.a +# -lnsl needed by libca.a and libX11.so +# -lgen needed by libXm.so for extensions + +# needed for extensions +ARCH_DEP_LDFLAGS = -R$(MOTIF_LIB) -R$(X11_LIB) diff --git a/config/CONFIG_ARCH.sun4 b/config/CONFIG_ARCH.sun4 new file mode 100644 index 000000000..f89db4ac8 --- /dev/null +++ b/config/CONFIG_ARCH.sun4 @@ -0,0 +1,17 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Unix + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = sun4 + +# Architecture specific build flags + diff --git a/config/CONFIG_ARCH.test167 b/config/CONFIG_ARCH.test167 new file mode 100644 index 000000000..acada98aa --- /dev/null +++ b/config/CONFIG_ARCH.test167 @@ -0,0 +1,18 @@ + +# BUILD_TYPE +# Currently either Vx or Unix +BUILD_TYPE = Vx + +# For Vx directories of form: +# +# $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin +# +# And configuration files: +# +# CONFIG_SITE.Vx.68k -or- CONFIG_SITE.Unix.sun4 +# +ARCH_CLASS = 68k + +# Architecture specific build flags +ARCH_DEP_CFLAGS = -DCPU=MC68040 -m68040 -DCPU_FAMILY=MC680X0 + diff --git a/config/CONFIG_BASE b/config/CONFIG_BASE new file mode 100644 index 000000000..da58a1689 --- /dev/null +++ b/config/CONFIG_BASE @@ -0,0 +1,58 @@ +# +# $Id$ +# + +# the order of following lists are important + +DIRS_Vx= \ + src/libCom\ + src/libvxWorks\ + src/bpt\ + src/util\ + src/sequencer\ + src/misc\ + src/db\ + src/ca\ + src/rsrv\ + src/dbStatic\ + src/dbtools\ + src/rec\ + src/as\ + src/drv/ansi\ + src/drv/old\ + src/drv/combine\ + src/dev\ + src/devOpt\ + src/iocCore + +DIRS_Unix= \ + src/tools \ + src/include \ + src/cxxTemplates \ + src/db \ + src/toolsComm/antelope \ + src/toolsComm/flex \ + src/libCom \ + src/cvtDctsdr \ + src/dbStatic \ + src/bpt \ + src/ca \ + src/gdd \ + src/cas/generic \ + src/cas/build/singleThread \ + src/cas/example \ + src/as \ + src/util \ + src/sequencer \ + src/dbtools \ + config + +DIRS = $(DIRS_$(BUILD_TYPE)) + +EPICS_BASE = $(TOP) + +# EPICS include config file +include $(TOP)/config/CONFIG + +EPICS_BASE = $(INSTALL_LOCATION) + diff --git a/config/CONFIG_COMMON b/config/CONFIG_COMMON new file mode 100644 index 000000000..c9c40ce35 --- /dev/null +++ b/config/CONFIG_COMMON @@ -0,0 +1,78 @@ +# +# $Id$ +# +# CONFIG_COMMON - Another EPICS BASE config file +# by Matthew Needes and Mike Bordua +# +# This file is to be maintained by the EPICS community. +# + +# Common Configuration Information + +BUILD_ARCHS=$(HOST_ARCH) +ifndef CROSS_COMPILER_HOST_ARCHS + BUILD_ARCHS+=$(CROSS_COMPILER_TARGET_ARCHS) +else + ifeq ($(HOST_ARCH),$(findstring $(HOST_ARCH),$(CROSS_COMPILER_HOST_ARCHS))) + BUILD_ARCHS+=$(CROSS_COMPILER_TARGET_ARCHS) + endif +endif + +INSTALL_LOCATION = $(TOP) + +INSTALL_LOCATION_LIB = $(INSTALL_LOCATION)/lib +INSTALL_LOCATION_BIN = $(INSTALL_LOCATION)/bin + +INSTALL_INCLUDE = $(INSTALL_LOCATION)/include +INSTALL_DOC = $(INSTALL_LOCATION)/doc +INSTALL_MAN = $(INSTALL_LOCATION)/man +INSTALL_TEMPLATES = $(INSTALL_LOCATION)/templates +INSTALL_DBD = $(INSTALL_LOCATION)/dbd +INSTALL_CONFIG = $(INSTALL_LOCATION)/config + +EPICS_BASE_INCLUDE = $(EPICS_BASE)/include +EPICS_BASE_DBD = $(EPICS_BASE)/dbd + +EPICS_EXTENSIONS_INCLUDE = $(EPICS_EXTENSIONS)/include +EPICS_EXTENSIONS_TEMPLATES = $(EPICS_EXTENSIONS)/templates + + +# private versions of lex/yacc from EPICS +EYACC = $(EPICS_BASE)/bin/$(HOST_ARCH)/antelope +ELEX = $(EPICS_BASE)/bin/$(HOST_ARCH)/e_flex -S$(EPICS_BASE_INCLUDE)/flex.skel.static + +# install from EPICS +INSTALL = $(EPICS_BASE)/bin/$(HOST_ARCH)/installEpics + +# dbtools from EPICS + +# state notation language compiler (installed from base/src/sequencer) +SNC = $(EPICS_BASE)/bin/$(HOST_ARCH)/snc + +# vxWorks definitions +VX_CONFIG_DIR = $(VX_DIR)/config +VX_INCLUDE = $(VX_DIR)/h +VX_GNU_BIN = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/bin +VX_GNU_LIB = $(VX_GNU)/$(HOST_ARCH).$(ARCH_CLASS)/lib + +ifdef T_A + +INSTALL_LIB = $(INSTALL_LOCATION_LIB)/$(T_A) +INSTALL_TCLLIB = $(INSTALL_LOCATION_LIB)/$(T_A) +INSTALL_BIN = $(INSTALL_LOCATION_BIN)/$(T_A) + +EPICS_BASE_LIB = $(EPICS_BASE)/lib/$(T_A) +EPICS_BASE_BIN = $(EPICS_BASE)/bin/$(T_A) + +EPICS_EXTENSIONS_LIB = $(EPICS_EXTENSIONS)/lib/$(T_A) +EPICS_EXTENSIONS_BIN = $(EPICS_EXTENSIONS)/bin/$(T_A) + +VX_IMAGE = $(VX_CONFIG_DIR)/$(T_A)/vxWorks +VX_IMAGE_SYM = $(VX_CONFIG_DIR)/$(T_A)/vxWorks.sym + +# location of installed vxWorks image +EPICS_VX_IMAGE = $(EPICS_BASE_BIN)/vxWorks +EPICS_VX_IMAGE_SYM = $(EPICS_BASE_BIN)/vxWorks.sym + +endif + diff --git a/config/CONFIG_ENV b/config/CONFIG_ENV new file mode 100644 index 000000000..34c8a64bf --- /dev/null +++ b/config/CONFIG_ENV @@ -0,0 +1,48 @@ +# $Id$ +# Author: Andrew Johnson +# Date: 20 April 1995 +# +# Experimental Physics and Industrial Control System (EPICS) +# +# CONFIG_ENV - EPICS Environment Parameter configuration file +# +# This file is interpreted by the Bourne Shell, so spaces are +# not allowed around the '=' signs or in unquoted values. +# Makefile variables are not defined here. +# +# + + +# Default environment settings + +# Channel Access: +# EPICS_CA_ADDR_LIST augment beacon/search dest ip addr list +# from white space separated ip addresses in this +# environment variable. "Quote" if more than one addr. +# EPICS_CA_AUTO_ADDR_LIST YES = augment beacon/search dest ip +# addr list from interfaces found; NO = only use +# EPICS_CA_ADDR_LIST to create this list. +# EPICS_CA_CONN_TMO sec before sending echo request from client. +# EPICS_CA_BEACON_PERIOD quiescent sec between server beacons. +# EPICS_CA_REPEATER_PORT CA repeater port number. +# EPICS_CA_SERVER_PORT CA server port number. + +EPICS_CA_ADDR_LIST="" +EPICS_CA_AUTO_ADDR_LIST=YES +EPICS_CA_CONN_TMO=30.0 +EPICS_CA_BEACON_PERIOD=15.0 +EPICS_CA_REPEATER_PORT=5065 +EPICS_CA_SERVER_PORT=5064 + + +# Log Server: +# EPICS_IOC_LOG_PORT Log server port number. + +EPICS_IOC_LOG_PORT=7004 + + +# Other services: + +EPICS_CMD_PROTO_PORT= +EPICS_AR_PORT=7002 + diff --git a/config/CONFIG_SITE b/config/CONFIG_SITE new file mode 100644 index 000000000..1291d798b --- /dev/null +++ b/config/CONFIG_SITE @@ -0,0 +1,98 @@ +# +# $Id$ +# +# CONFIG_SITE - EPICS BASE config file +# by Matthew Needes and Mike Bordua +# +# This file is to be modified by the EPICS system manager +# only. +# + + +# The host architecture performing the build, +# i.e.: the arch running DCT/getrel/etc. +# +# Currently Supporting: +# sun4 +# hp700 +# alpha +# solaris +# sgi +# Linux +# +# HOST_ARCH now an environment variable +# HOST_ARCH=$(shell /usr/local/epics/startup/HostArch) +ifndef HOST_ARCH + HOST_ARCH=unsupported +endif + +# The architectures to build EPICS for +# +# Currently Supporting: +# mv167 +# mv162 +# mv162lc +# mv147 +# hkv2f +# +CROSS_COMPILER_TARGET_ARCHS=mv167 + +# If only a subset of the host architectures perform +# the build for the CROSS_COMPILER_TARGET_ARCHS +# uncomment the following line and specify them. +# +#CROSS_COMPILER_HOST_ARCHS=sun4 + +# VxWorks directory +#VX_DIR=/usr/csite/vw/5.1.1/vw +#VX_DIR=/usr/local/vw/vxV51.mm +#VX_DIR=/usr/local/vw/vxV52/vw +VX_DIR=/usr/local/vw/vxV52p1/vw + +#VX_GNU = $(VX_DIR) +VX_GNU = $(VX_DIR)/../vxgccV2.2.3.1 + +# Hideos directory +HIDEOS=/home/phoebus/HIDEOS/hideos_vx + +# Client ANSI Compiler +# GCC (gcc -ansi) +# ACC (acc) +# HPACC (cc -Aa) +#ANSI=HPACC +ANSI=ACC + +# Client Standard C Compiler choice +# GCC (gcc -traditional) +# ACC (acc -Xs) +# SUNCC (cc) +# HPCC (cc -Ac) +#STANDARD=HPCC +STANDARD=ACC + +# Client C++ Compiler (Not supported yet) +# G++ (g++) GNU C++ +# CCC (CC) SUN C++ +#CPLUSPLUS=G++ +CPLUSPLUS=CCC + +# Build client objects statically ? +# must be either YES or NO +STATIC_BUILD=NO + +# Unix Optimization +# must be either YES or NO +UNIX_OPT=YES + +# VxWorks Optimization +# must be either YES or NO +VX_OPT=YES + +# Generate Verbose Compiler Warnings for Unix +# must be either YES or NO +UNIX_WARN=YES + +# Generate Verbose Compiler Warnings for VxWorks +# must be either YES or NO +VX_WARN=YES + diff --git a/config/CONFIG_SITE.Unix.Linux b/config/CONFIG_SITE.Unix.Linux new file mode 100644 index 000000000..3fe868478 --- /dev/null +++ b/config/CONFIG_SITE.Unix.Linux @@ -0,0 +1,37 @@ +# +# $Id$ +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Default SUN compiler, individual Makefiles will override +# if they cannot support ANSI compilation. +# STRICT - ANSI C - force warning flags +# ANSI - ANSI C +# OLD - Standard C - Not appropriate here. +CMPLR=ANSI + +#INSTALL_PRODUCT = $(EPICS_BASE_BIN)/InstallVersion +INSTALL_PRODUCT = $(INSTALL) + +# Special C library requirements +SPECIAL_LANG = . + +# Where to find utilities/libraries +# If you do not have a certain product, +# leave the line empty. +# +X11_LIB = /usr/X386/lib +X11_INC = /usr/X386/include/X11 +MOTIF = +MOTIF_INC = /usr/X386/include +MOTIF_LIB = /usr/X386/lib +INTERVIEWS_BIN=/usr/local/interviews/bin/O.Linux +OPENWIN = +WINGZ = +MATHEMATICA = +XRTGRAPH = +QUESTWIN = +TK_TCL = /usr/lib +IDL = + diff --git a/config/CONFIG_SITE.Unix.alpha b/config/CONFIG_SITE.Unix.alpha new file mode 100644 index 000000000..8f3f3986e --- /dev/null +++ b/config/CONFIG_SITE.Unix.alpha @@ -0,0 +1,31 @@ +# +# CONFIG_SITE.Unix.alpha +# +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Default compiler, individual Makefiles will override +# if they cannot support ANSI compilation. +# STRICT - ANSI C - force warning flags +# ANSI - ANSI C +# OLD - Standard C - Not appropriate here. +CMPLR=ANSI + +INSTALL_PRODUCT = $(INSTALL) + +# Special C library requirements + +# Where to find utilities/libraries +X11_LIB = /usr/lib +X11_INC = /usr/include +MOTIF_INC = /usr/include +MOTIF_LIB = /usr/lib +INTERVIEWS_BIN=/usr/local/interviews/bin/O.alpha +OPENWIN = +WINGZ = +MATHEMATICA = +XRTGRAPH = /u/local/xrtgraph +QUESTWIN = +IDL = + diff --git a/config/CONFIG_SITE.Unix.hp700 b/config/CONFIG_SITE.Unix.hp700 new file mode 100644 index 000000000..3854b34ee --- /dev/null +++ b/config/CONFIG_SITE.Unix.hp700 @@ -0,0 +1,30 @@ +# +# CONFIG_SITE.Unix.hp700 +# +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Default compiler, individual Makefiles will override +# if they cannot support ANSI compilation. +# STRICT - ANSI C - force warning flags +# ANSI - ANSI C +# OLD - Standard C - Not appropriate here. +CMPLR=ANSI + +INSTALL_PRODUCT = $(INSTALL) + +# Special C library requirements + +# Where to find utilities/libraries +X11_INC = /usr/include/X11R5 +X11_LIB = /usr/lib/X11R5 +MOTIF_INC = /usr/include/Motif1.2 +MOTIF_LIB = /usr/lib/Motif1.2 +INTERVIEWS_BIN=/usr/local/interviews/bin/O.hp700 +XRTGRAPH = /usr/csite/xrt +OPENWIN = /usr/csite4/local/xview +WINGZ = /usr/local/Wingz +MATHEMATICA = /usr/local/math +QUESTWIN = /usr/local/questwin +IDL = /usr/csite/idl diff --git a/config/CONFIG_SITE.Unix.sgi b/config/CONFIG_SITE.Unix.sgi new file mode 100644 index 000000000..c5dbcf837 --- /dev/null +++ b/config/CONFIG_SITE.Unix.sgi @@ -0,0 +1,40 @@ +# +# $Id$ +# +# Revision 1.2 1994/06/28 00:02:32 bordua +# First cut at the RULES and CONFIGS. +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Default SUN compiler, individual Makefiles will override +# if they cannot support ANSI compilation. +# STRICT - ANSI C - force warning flags +# ANSI - ANSI C +# OLD - Standard C - Not appropriate here. +CMPLR=ANSI + +#INSTALL_PRODUCT = $(EPICS_BASE_BIN)/InstallVersion +INSTALL_PRODUCT = $(INSTALL) + +# Special C library requirements +SPECIAL_LANG = /usr/lang/SC2.0.1patch + +# Where to find utilities/libraries +# If you do not have a certain product, +# leave the line empty. +# +X11_LIB = /usr/lib +X11_INC = /usr/include/X11 +MOTIF = /usr/local/Motif1.2.2 +MOTIF_INC = /usr/local/Motif1.2.2/include +MOTIF_LIB = /usr/local/Motif1.2.2/lib +OPENWIN = /usr/local/openwin3 +INTERVIEWS_BIN=/usr/local/interviews/bin/O.sgi +WINGZ = /usr/local/Wingz +MATHEMATICA = /usr/local/math +XRTGRAPH = /usr/local/xrtgraph +QUESTWIN = /usr/local/questwin +TK_TCL = /usr/local/tk_tcl +IDL = /usr/local/idl + diff --git a/config/CONFIG_SITE.Unix.solaris b/config/CONFIG_SITE.Unix.solaris new file mode 100644 index 000000000..e4eb985a4 --- /dev/null +++ b/config/CONFIG_SITE.Unix.solaris @@ -0,0 +1,52 @@ +# +# $Id$ +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Default SUN compiler, individual Makefiles will override +# if they cannot support ANSI compilation. +# STRICT - ANSI C - force warning flags +# ANSI - ANSI C +# OLD - Standard C - Not appropriate here. +CMPLR=ANSI + +#INSTALL_PRODUCT = $(EPICS_BASE_BIN)/InstallVersion +INSTALL_PRODUCT = $(INSTALL) + +# Unbundled C compiler stuff +SPARCWORKS = /opt/SUNWspro +#SPECIAL_LANG = $(SPARCWORKS)/SC3.0/lib +SPECIAL_LANG = . + +# Where to find utilities/libraries +# If you do not have a certain product, +# leave the line empty. +# + +# sun X11 +X11_LIB = /usr/openwin/lib +X11_INC = /usr/openwin/include +# mit X11 +#X11_LIB = /opt/X11R5/lib +#X11_INC = /opt/X11R5/include +# osf motif +#MOTIF_INC = /opt/local/Motif2.0/include +#MOTIF_LIB = /opt/local/Motif2.0/lib +# sun SDK motif +#MOTIF_INC = /opt/SUNWmotif/include +#MOTIF_LIB = /opt/SUNWmotif/lib +# sun 5.4 SDK motif +MOTIF_INC = /usr/dt/include +MOTIF_LIB = /usr/dt/lib +OPENWIN = /usr/openwin +INTERVIEWS_BIN=/usr/local/interviews/bin/O.solaris +WINGZ = /usr/local/Wingz +#MATHEMATICA = /usr/local/math +XRTGRAPH = /opt/local/xrtgraph2.4.0 +QUESTWIN = /usr/local/questwin +TK_TCL = /opt/local/tk_tcl +IDL = /usr/local/idl +# IDL=$(IDL)/external/rpc is the sun4 version +IDLRPC = $(IDL)/external/rpc.solaris + diff --git a/config/CONFIG_SITE.Unix.sun4 b/config/CONFIG_SITE.Unix.sun4 new file mode 100644 index 000000000..a60c4e0b0 --- /dev/null +++ b/config/CONFIG_SITE.Unix.sun4 @@ -0,0 +1,37 @@ +# +# $Id$ +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Default SUN compiler, individual Makefiles will override +# if they cannot support ANSI compilation. +# STRICT - ANSI C - force warning flags +# ANSI - ANSI C +# OLD - Standard C - Not appropriate here. +CMPLR=ANSI + +#INSTALL_PRODUCT = $(EPICS_BASE_BIN)/InstallVersion +INSTALL_PRODUCT = $(INSTALL) + +# Special C library requirements +SPECIAL_LANG = /usr/lang/SC2.0.1patch + +# Where to find utilities/libraries +# If you do not have a certain product, +# leave the line empty. +# +X11_LIB = /usr/lib +X11_INC = /usr/include/X11 +MOTIF_INC = /usr/local/Motif1.2.2/include +MOTIF_LIB = /usr/local/Motif1.2.2/lib +OPENWIN = /usr/local/openwin3 +INTERVIEWS_BIN=/usr/local/interviews/bin/O.sun4 +WINGZ = /usr/local/Wingz +MATHEMATICA = /usr/local/math +XRTGRAPH = /usr/local/xrtgraph +QUESTWIN = /usr/local/questwin +TK_TCL = /usr/local/tk_tcl +IDL = /usr/local/idl +IDLRPC = $(IDL)/external/rpc + diff --git a/config/CONFIG_SITE.Vx.68k b/config/CONFIG_SITE.Vx.68k new file mode 100644 index 000000000..b65e7b023 --- /dev/null +++ b/config/CONFIG_SITE.Vx.68k @@ -0,0 +1,9 @@ + +# $Id$ +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Epics defs + + diff --git a/config/CONFIG_SITE.Vx.Linux b/config/CONFIG_SITE.Vx.Linux new file mode 100644 index 000000000..0fcc78d9d --- /dev/null +++ b/config/CONFIG_SITE.Vx.Linux @@ -0,0 +1,8 @@ + +# $Id$ +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# Epics defs + diff --git a/config/CONFIG_SITE_ENV b/config/CONFIG_SITE_ENV new file mode 100644 index 000000000..18b6c5d2f --- /dev/null +++ b/config/CONFIG_SITE_ENV @@ -0,0 +1,40 @@ +# $Id$ +# Author: Andrew Johnson +# Date: 1 May 1995 +# +# Experimental Physics and Industrial Control System (EPICS) +# +# CONFIG_SITE_ENV - EPICS Environment Parameter Site configuration file +# +# This file is interpreted by the Bourne Shell, so spaces are +# not allowed around the '=' signs or in unquoted values. +# Makefile variables are not defined here. +# + +# Site-specific environment settings + +# Time service: +# EPICS_TS_MIN_WEST the local time difference from GMT. +# EPICS_TS_NTP_INET ntp or Unix time server ip addr. + +EPICS_TS_MIN_WEST=360 +EPICS_TS_NTP_INET= + + +# Log Server: +# EPICS_IOC_LOG_INET +# Log server ip addr. +# EPICS_IOC_LOG_FILE_NAME +# pathname to the log file. +# EPICS_IOC_LOG_FILE_LIMIT +# maximum log file size. +# EPICS_IOC_LOG_FILE_COMMAND +# A shell command string used to obtain a new +# path name in response to SIGHUP - the new path name will +# replace any path name supplied in EPICS_IOC_LOG_FILE_NAME + +EPICS_IOC_LOG_INET=164.54.8.167 +EPICS_IOC_LOG_FILE_NAME=/home/phebos1/epics/apple/log/iocLog.text +EPICS_IOC_LOG_FILE_COMMAND= +EPICS_IOC_LOG_FILE_LIMIT=1000000 + diff --git a/config/Makefile b/config/Makefile new file mode 100644 index 000000000..821179ae5 --- /dev/null +++ b/config/Makefile @@ -0,0 +1,10 @@ +# +# $Id$ +# + +TOP=.. + +include $(TOP)/config/CONFIG_BASE + +include $(TOP)/config/RULES_ARCHS + diff --git a/config/Makefile.Unix b/config/Makefile.Unix new file mode 100644 index 000000000..27f4202b1 --- /dev/null +++ b/config/Makefile.Unix @@ -0,0 +1,51 @@ +# +# $Id$ +# + +TOP = ../.. +include $(TOP)/config/CONFIG_BASE + +CONFIGS += CONFIG_BASE +CONFIGS += CONFIG_COMMON +CONFIGS += CONFIG_ENV + +CONFIGS += CONFIG.Unix.Linux +CONFIGS += CONFIG.Unix.alpha +CONFIGS += CONFIG.Unix.hp700 +CONFIGS += CONFIG.Unix.sgi +CONFIGS += CONFIG.Unix.solaris +CONFIGS += CONFIG.Unix.sun4 + +CONFIGS += CONFIG.Vx.68k +CONFIGS += CONFIG.Vx.Linux + +CONFIGS += CONFIG_ARCH.Linux +CONFIGS += CONFIG_ARCH.alpha +CONFIGS += CONFIG_ARCH.hkv2f +CONFIGS += CONFIG_ARCH.hp700 +CONFIGS += CONFIG_ARCH.mv147 +CONFIGS += CONFIG_ARCH.mv162 +CONFIGS += CONFIG_ARCH.mv167 +CONFIGS += CONFIG_ARCH.sgi +CONFIGS += CONFIG_ARCH.solaris +CONFIGS += CONFIG_ARCH.sun4 +CONFIGS += CONFIG_ARCH.test167 + +CONFIGS += CONFIG_SITE +CONFIGS += CONFIG_SITE.Unix.Linux +CONFIGS += CONFIG_SITE.Unix.alpha +CONFIGS += CONFIG_SITE.Unix.hp700 +CONFIGS += CONFIG_SITE.Unix.sgi +CONFIGS += CONFIG_SITE.Unix.solaris +CONFIGS += CONFIG_SITE.Unix.sun4 +CONFIGS += CONFIG_SITE.Vx.68k +CONFIGS += CONFIG_SITE.Vx.Linux +CONFIGS += CONFIG_SITE_ENV + +CONFIGS += RULES.Unix +CONFIGS += RULES.Vx +CONFIGS += RULES_ARCHS +CONFIGS += RULES_DIRS + +include $(TOP)/config/RULES.Unix + diff --git a/config/RULES.Unix b/config/RULES.Unix new file mode 100644 index 000000000..ff883592d --- /dev/null +++ b/config/RULES.Unix @@ -0,0 +1,200 @@ +# $Id$ + +INSTALL_PROD=$(PROD:%=$(INSTALL_BIN)/%) +INSTALL_LIBS=$(LIBNAME:%=$(INSTALL_LIB)/%) +INSTALL_INC=$(INC:%=$(INSTALL_INCLUDE)/%) +INSTALL_MANS+=$(MAN1:%=$(INSTALL_MAN)/man1/%) +INSTALL_MANS+=$(MAN2:%=$(INSTALL_MAN)/man2/%) +INSTALL_MANS+=$(MAN3:%=$(INSTALL_MAN)/man3/%) +INSTALL_MANS+=$(MAN4:%=$(INSTALL_MAN)/man4/%) +INSTALL_MANS+=$(MAN5:%=$(INSTALL_MAN)/man5/%) +INSTALL_MANS+=$(MAN6:%=$(INSTALL_MAN)/man6/%) +INSTALL_MANS+=$(MAN7:%=$(INSTALL_MAN)/man7/%) +INSTALL_MANS+=$(MAN8:%=$(INSTALL_MAN)/man8/%) +INSTALL_MANS+=$(MAN9:%=$(INSTALL_MAN)/man9/%) +INSTALL_DOCS=$(DOCS:%=$(INSTALL_DOC)/%) +INSTALL_SCRIPTS=$(SCRIPTS:%=$(INSTALL_BIN)/%) +INSTALL_TEMPLATE=$(TEMPLATES:%=$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%) +INSTALL_TCLLIBS=$(TCLLIBNAME:%=$(INSTALL_TCLLIB)/%) +INSTALL_TCLINDEX=$(TCLINDEX:%=$(INSTALL_TCLLIB)/%) +INSTALL_CONFIGS=$(CONFIGS:%=$(INSTALL_CONFIG)/%) + +all: install + +pre_build: + +build: pre_build $(LIBNAME) $(TARGETS) $(PROD) + +install: build $(INSTALL_INC) $(INSTALL_LIBS) $(TARGETS) $(INSTALL_PROD) \ + $(INSTALL_MANS) $(INSTALL_DOCS) $(INSTALL_SCRIPTS) $(INSTALL_TEMPLATE) \ + $(INSTALL_TCLLIBS) $(INSTALL_TCLINDEX) $(INSTALL_CONFIGS) + +depends: $(SRCS.c) $(SRCS.cc) + rm -f .DEPENDS + touch .DEPENDS +ifdef SRCS + echo you have a SRCS in your Makefile + exit 2 +endif +ifdef SRCS.c + $(DEPENDS_RULE.c) +endif +ifdef SRCS.cc + $(DEPENDS_RULE.cc) +endif + +clean:: + @echo "Cleaning" + @$(RM) *.i *.o *.a $(TARGETS) $(PROD) $(LIBNAME) $(INC) + + +$(TARGETS) $(PROD): $(DEPLIBS) + +# The order of the following dependencies is +# VERY IMPORTANT !!!! + +%: %.o + $(RM) $@ + $(LINK.c) -o $@ $< $(LDLIBS) + +#$(PROD): $(OBJS) $(DEPLIBS) +# $(RM) $@ +# $(LINK.c) -o $@ ${OBJS} $(LDLIBS) + +%.o: %.c + $(RM) $@ + $(COMPILE.c) $< + +%.o: ../%.c + $(RM) $@ + $(COMPILE.c) $< + +%.o: %.cc + $(RM) $@ + $(COMPILE.cc) $< + +%.o: ../%.cc + $(RM) $@ + $(COMPILE.cc) $< + +%.c: ../%.y + $(RM) y.tab.c y.tab.h + $(YACC) $(YACCOPT) $< + @if [ -f y.tab.c ]; \ + then \ + echo "/bin/mv y.tab.c $*.c"; \ + /bin/mv y.tab.c $*.c; \ + fi + @if [ -f y.tab.h ]; \ + then \ + echo "/bin/mv y.tab.h $*.h"; \ + /bin/mv y.tab.h $*.h; \ + fi + +%.c: ../%.l + $(RM) lex.yy.c + $(LEX) $(LEXOPT) $< + $(RM) $@ + /bin/mv lex.yy.c $@ + +#state notation language rule +%.c: ../%.st + @echo "preprocessing $*.st" + @$(RM) $*.i + $(CPP) $(CPPFLAGS) $< $*.i + @echo "converting $*.i" + @$(RM) $@ + $(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i + +$(LIBNAME): $(LIBOBJS) + @echo Building library $@ + $(RM) $@ + $(AR) $(ARFLAGS) $@ $(LIBOBJS) + @if [ ! -z "$(RANLIB)" ] ; then\ + echo $(RANLIB) $@; \ + $(RANLIB) $@; \ + fi + +$(INSTALL_BIN)/%: % + @echo "Installing $@" + @test -d $(INSTALL_LOCATION_BIN) || mkdir $(INSTALL_LOCATION_BIN) + @test -d $(INSTALL_BIN) || mkdir $(INSTALL_BIN) + @$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN) + +$(INSTALL_BIN)/%: ../% + @echo "Installing $@" + @test -d $(INSTALL_LOCATION_BIN) || mkdir $(INSTALL_LOCATION_BIN) + @test -d $(INSTALL_BIN) || mkdir $(INSTALL_BIN) + @$(INSTALL_PRODUCT) -m 555 $< $(INSTALL_BIN) + +$(INSTALL_LIB)/%.a: %.a + @echo "Installing library $@" + @test -d $(INSTALL_LOCATION_LIB) || mkdir $(INSTALL_LOCATION_LIB) + @test -d $(INSTALL_LIB) || mkdir $(INSTALL_LIB) + @$(INSTALL) -m 644 $< $(INSTALL_LIB) + @if [ ! -z "$(RANLIB)" ] ; then\ + $(RANLIB) $(RANLIBFLAGS) $@; \ + fi + +$(INSTALL_CONFIG)/%: ../% + @echo "Installing $@" + @test -d $(INSTALL_CONFIG) || mkdir $(INSTALL_CONFIG) + @$(INSTALL) -m 644 $< $(INSTALL_CONFIG) + +$(INSTALL_TCLLIB)/%: ../% + @echo "Installing Tcl library $@" + @test -d $(INSTALL_LOCATION_LIB) || mkdir $(INSTALL_LOCATION_LIB) + @test -d $(INSTALL_LIB) || mkdir $(INSTALL_LIB) + @$(INSTALL) -m 644 $< $(INSTALL_LIB) + +$(INSTALL_TCLLIB)/$(TCLINDEX): $(INSTALL_TCLLIBS) + @echo "Updating $@" + @echo eval auto_mkindex $(INSTALL_LIB) "$(TCLLIBNAME)" | tclsh + +$(INSTALL_MAN)/man9/% \ +$(INSTALL_MAN)/man8/% \ +$(INSTALL_MAN)/man7/% \ +$(INSTALL_MAN)/man6/% \ +$(INSTALL_MAN)/man5/% \ +$(INSTALL_MAN)/man4/% \ +$(INSTALL_MAN)/man3/% \ +$(INSTALL_MAN)/man2/% \ +$(INSTALL_MAN)/man1/%: ../% + @echo "Installing $@" + @test -d $(INSTALL_MAN) || mkdir $(INSTALL_MAN) + @test -d $(@D) || mkdir $(@D) + @$(INSTALL) -m 644 $< $(@D) + +$(INSTALL_INCLUDE)/%: % + @echo "Installing $@" + @test -d $(INSTALL_INCLUDE) || mkdir $(INSTALL_INCLUDE) + @$(INSTALL) -m 644 $< $(INSTALL_INCLUDE) + +$(INSTALL_INCLUDE)/%: ../% + @echo "Installing $@" + @test -d $(INSTALL_INCLUDE) || mkdir $(INSTALL_INCLUDE) + @$(INSTALL) -m 644 $< $(INSTALL_INCLUDE) + +$(INSTALL_DOC)/%: ../% + @echo "Installing $@" + @test -d $(INSTALL_DOC) || mkdir $(INSTALL_DOC) + @$(INSTALL) -m 644 $< $(INSTALL_DOC) + +$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: ../% + @echo "Installing $@" + @test -d $(INSTALL_TEMPLATES) || mkdir $(INSTALL_TEMPLATES) + @test -d $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) || \ + mkdir $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) + @$(INSTALL) -m 644 $< $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) + +$(INSTALL_TEMPLATES)/$(TEMPLATES_DIR)/%: % + @echo "Installing $@" + @test -d $(INSTALL_TEMPLATES) || mkdir $(INSTALL_TEMPLATES) + @test -d $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) || \ + mkdir $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) + @$(INSTALL) -m 644 $< $(INSTALL_TEMPLATES)/$(TEMPLATES_DIR) + +.PRECIOUS: %.o %.c + +include .DEPENDS + diff --git a/config/RULES.Vx b/config/RULES.Vx new file mode 100644 index 000000000..d21a8a8e5 --- /dev/null +++ b/config/RULES.Vx @@ -0,0 +1,198 @@ +# $Id$ + +INC +=$(RECTYPES) $(MENUS) +INSTALL_PROD=$(PROD:%=$(INSTALL_BIN)/%) +INSTALL_LIBS=$(LIBNAME:%=$(INSTALL_BIN)/%) +INSTALL_INC=$(INC:%=$(INSTALL_INCLUDE)/%) +INSTALL_MANS+=$(MAN1:%=$(INSTALL_MAN)/man1/%) +INSTALL_MANS+=$(MAN2:%=$(INSTALL_MAN)/man2/%) +INSTALL_MANS+=$(MAN3:%=$(INSTALL_MAN)/man3/%) +INSTALL_MANS+=$(MAN4:%=$(INSTALL_MAN)/man4/%) +INSTALL_MANS+=$(MAN5:%=$(INSTALL_MAN)/man5/%) +INSTALL_MANS+=$(MAN6:%=$(INSTALL_MAN)/man6/%) +INSTALL_MANS+=$(MAN7:%=$(INSTALL_MAN)/man7/%) +INSTALL_MANS+=$(MAN8:%=$(INSTALL_MAN)/man8/%) +INSTALL_MANS+=$(MAN9:%=$(INSTALL_MAN)/man9/%) +INSTALL_DOCS=$(DOCS:%=$(INSTALL_DOC)/%) +INSTALL_SCRIPTS=$(SCRIPTS:%=$(INSTALL_BIN)/%) + +INSTALL_BPTS=$(BPTS:%=$(INSTALL_DBD)/%) +INSTALL_DBS=$(DBDINSTALL:%=$(INSTALL_DBD)/%)\ + $(RECTYPES:%.h=$(INSTALL_DBD)/%.dbd)\ + $(MENUS:%.h=$(INSTALL_DBD)/%.dbd) + +INSTALL_DBDEXPAND=$(DBDEXPAND:%=$(INSTALL_DBD)/%) +all: install + +pre_build: + +build: pre_build $(MENUS) $(RECTYPES) $(BPTS)\ + $(LIBNAME) $(TARGETS) $(PROD) $(DBDEXPAND) + +install: build $(INSTALL_INC)\ + $(INSTALL_LIBS) $(TARGETS) $(INSTALL_PROD) $(INSTALL_MANS)\ + $(INSTALL_DOCS) $(INSTALL_SCRIPTS) $(INSTALL_DBS)\ + $(INSTALL_MENUS) $(INSTALL_RECTYPES) $(INSTALL_BPTS)\ + $(INSTALL_DBDEXPAND) + +depends: $(SRCS.c) $(SRCS.cc) + rm -f .DEPENDS + touch .DEPENDS +ifdef SRCS + echo you have a SRCS in your Makefile + exit 2 +endif +ifdef SRCS.c + $(DEPENDS_RULE.c) +endif +ifdef SRCS.cc + $(DEPENDS_RULE.cc) +endif + +clean:: + @echo "Cleaning" + @$(RM) *.i *.o *.a $(TARGETS) $(PROD) $(LIBNAME) $(INC) \ + $(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) $(DBDEXPAND) + + +# The order of the following dependencies is +# VERY IMPORTANT !!!! + +%: %.o + $(RM) $@ + $(LINK.c) $@ $< + +#$(PROD): $(OBJS) +# $(RM) $@ +# $(LINK.c) $@ $(OBJS) + +%.o: %.c + $(RM) $@ + $(COMPILE.c) $< + +%.o: ../%.c + $(RM) $@ + $(COMPILE.c) $< + +%.o: %.cc + $(RM) $@ + $(COMPILE.cc) $< + +%.o: ../%.cc + $(RM) $@ + $(COMPILE.cc) $< + +%.c: ../%.y + $(RM) y.tab.c y.tab.h + $(YACC) $(YACCOPT) $< + @if [ -f y.tab.c ]; \ + then \ + echo "/bin/mv y.tab.c $*.c"; \ + /bin/mv y.tab.c $*.c; \ + fi + @if [ -f y.tab.h ]; \ + then \ + echo "/bin/mv y.tab.h $*.h"; \ + /bin/mv y.tab.h $*.h; \ + fi + +%.c: ../%.l + $(RM) lex.yy.c + $(LEX) $(LEXOPT) $< + $(RM) $@ + /bin/mv lex.yy.c $@ + +#state notation language rule +%.c: ../%.st + @echo "preprocessing $*.st" + @$(RM) $*.i + $(CPP) $(CPPFLAGS) $< $*.i + @echo "converting $*.i" + @$(RM) $@ + $(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i + +$(INSTALL_DBD)/%: % + @echo "Installing $@" + @test -d $(INSTALL_DBD) || mkdir $(INSTALL_DBD) + @$(INSTALL) -m 644 $< $(INSTALL_DBD) + +$(INSTALL_DBD)/%: ../% + @echo "Installing $@" + @test -d $(INSTALL_DBD) || mkdir $(INSTALL_DBD) + @$(INSTALL) -m 644 $< $(INSTALL_DBD) + +%Record.h: ../%Record.dbd + $(RM) $@ + $(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \ + $(USER_DBDFLAGS) $< + +menu%.h: ../menu%.dbd + $(RM) $@ + $(EPICS_BASE)/bin/$(HOST_ARCH)/dbToMenuH $< + +bpt%.dbd: ../bpt%.data + $(RM) $@ + $(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt $< + +%.dbd: ../%.dbd + $(RM) $@ + $(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpandInclude \ + $(USER_DBDFLAGS) $< > $( ./.cvsignore; \ + test -d O.${T_A} || \ + ( echo "Creating O.${T_A}"; mkdir O.${T_A};); \ + test -f O.${T_A}/Makefile || \ + ( echo "T_A=${T_A}" > O.${T_A}/Makefile; \ + echo "include ../Makefile.${BUILD_TYPE}" \ + >> O.${T_A}/Makefile;); \ + test -f O.${T_A}/.DEPENDS || \ + touch O.${T_A}/.DEPENDS; \ + fi + + diff --git a/config/RULES_DIRS b/config/RULES_DIRS new file mode 100644 index 000000000..4d2131748 --- /dev/null +++ b/config/RULES_DIRS @@ -0,0 +1,70 @@ +# +# $Id$ +# +# Top level rules For Subdirectory Recursions +# + +all:: install + +dirs:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + +depends:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + +build:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + +install:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + +clean:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + + + +dirs.%:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + +depends.%:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + +build.%:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + +install.%:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done + +clean.%:: + @for DIR in ${DIRS}; do \ + echo "$@: $$DIR"; \ + if [ -d $$DIR ]; then TMP=`pwd`; cd $$DIR; ${MAKE} $@; cd $${TMP}; fi; \ + done +