From 3cf2a7bcb8ca3628d4c93949b4d73dd5c67b3b82 Mon Sep 17 00:00:00 2001 From: "Janet B. Anderson" Date: Fri, 7 Apr 2000 21:18:01 +0000 Subject: [PATCH] Changed os filenames to form CONFIG[_SITE]... --- configure/CONFIG | 22 +- configure/RULES_BUILD | 1 - configure/os/CONFIG.Common.RTEMS | 113 +++++++ configure/os/CONFIG.Common.RTEMS-gen68360 | 9 + configure/os/CONFIG.Common.UnixCommon | 86 ++++++ configure/os/CONFIG.Common.vxWorks-486 | 25 ++ configure/os/CONFIG.Common.vxWorks-68040 | 21 ++ configure/os/CONFIG.Common.vxWorks-68040lc | 20 ++ configure/os/CONFIG.Common.vxWorks-68060 | 21 ++ configure/os/CONFIG.Common.vxWorks-pentium | 22 ++ configure/os/CONFIG.Common.vxWorks-ppc604 | 21 ++ configure/os/CONFIG.Common.vxWorksCommon | 114 +++++++ configure/os/CONFIG.UnixCommon.Common | 20 ++ configure/os/CONFIG.linux-x86.Common | 14 + configure/os/CONFIG.linux-x86.linux-x86 | 33 ++ configure/os/CONFIG.osf-alpha.Common | 14 + configure/os/CONFIG.osf-alpha.osf-alpha | 74 +++++ configure/os/CONFIG.solaris-sparc.Common | 14 + .../os/CONFIG.solaris-sparc.solaris-sparc | 74 +++++ configure/os/CONFIG.sun4-68k.Common | 14 + configure/os/CONFIG.sun4-68k.sun4-68k | 89 ++++++ configure/os/CONFIG.win32-x86.Common | 22 ++ configure/os/CONFIG.win32-x86.win32-x86 | 282 ++++++++++++++++++ configure/os/CONFIG_COMPAT | 2 + .../os/CONFIG_SITE.Common.vxWorks-ppc604 | 10 + .../os/CONFIG_SITE.linux-x86.vxWorks-68040 | 4 + .../os/CONFIG_SITE.linux-x86.vxWorksCommon | 13 + configure/os/CONFIG_SITE.solaris-sparc.Common | 9 + configure/os/CONFIG_SITE.win32-x86.Common | 11 + 29 files changed, 1168 insertions(+), 6 deletions(-) create mode 100644 configure/os/CONFIG.Common.RTEMS create mode 100644 configure/os/CONFIG.Common.RTEMS-gen68360 create mode 100644 configure/os/CONFIG.Common.UnixCommon create mode 100644 configure/os/CONFIG.Common.vxWorks-486 create mode 100644 configure/os/CONFIG.Common.vxWorks-68040 create mode 100644 configure/os/CONFIG.Common.vxWorks-68040lc create mode 100644 configure/os/CONFIG.Common.vxWorks-68060 create mode 100644 configure/os/CONFIG.Common.vxWorks-pentium create mode 100644 configure/os/CONFIG.Common.vxWorks-ppc604 create mode 100644 configure/os/CONFIG.Common.vxWorksCommon create mode 100644 configure/os/CONFIG.UnixCommon.Common create mode 100644 configure/os/CONFIG.linux-x86.Common create mode 100644 configure/os/CONFIG.linux-x86.linux-x86 create mode 100644 configure/os/CONFIG.osf-alpha.Common create mode 100644 configure/os/CONFIG.osf-alpha.osf-alpha create mode 100644 configure/os/CONFIG.solaris-sparc.Common create mode 100644 configure/os/CONFIG.solaris-sparc.solaris-sparc create mode 100644 configure/os/CONFIG.sun4-68k.Common create mode 100644 configure/os/CONFIG.sun4-68k.sun4-68k create mode 100644 configure/os/CONFIG.win32-x86.Common create mode 100644 configure/os/CONFIG.win32-x86.win32-x86 create mode 100644 configure/os/CONFIG_SITE.Common.vxWorks-ppc604 create mode 100644 configure/os/CONFIG_SITE.linux-x86.vxWorksCommon create mode 100644 configure/os/CONFIG_SITE.solaris-sparc.Common create mode 100644 configure/os/CONFIG_SITE.win32-x86.Common diff --git a/configure/CONFIG b/configure/CONFIG index c31e9a2c6..1cd2752b5 100644 --- a/configure/CONFIG +++ b/configure/CONFIG @@ -30,21 +30,29 @@ include $(CONFIG)/CONFIG_SITE # Host architecture specific definitions # -include $(CONFIG)/os/CONFIG.Host.$(EPICS_HOST_ARCH) --include $(CONFIG)/os/CONFIG_SITE.Host.$(EPICS_HOST_ARCH) +include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).Common +-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).Common ifdef T_A -# Architecture specific definitions +# Cross compile specific definitions # ifneq ($(EPICS_HOST_ARCH),$(T_A)) include $(CONFIG)/CONFIG.CrossCommon endif -include $(CONFIG)/os/CONFIG.Target.$(T_A) +# Target architecture specific definitions # --include $(CONFIG)/os/CONFIG_SITE.Target.$(T_A) +-include $(CONFIG)/os/CONFIG.Common.$(T_A) + +# Host-Target architecture specific definitions +# +-include $(CONFIG)/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A) + +# Site specific target and host-target definitions +# +-include $(CONFIG)/os/CONFIG_SITE.Common.$(T_A) -include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A) endif @@ -54,12 +62,16 @@ endif -include $(HOME)/configure/CONFIG -include $(HOME)/os/configure/CONFIG.Host.$(HOST_ARCH) -include $(HOME)/os/configure/CONFIG.Host.$(EPICS_HOST_ARCH) +-include $(HOME)/os/configure/CONFIG.$(HOST_ARCH).Common +-include $(HOME)/os/configure/CONFIG.$(EPICS_HOST_ARCH).Common ifdef T_A -include $(HOME)/configure/CONFIG.$(OS_CLASS) -include $(HOME)/configure/CONFIG.Target.$(T_A) +-include $(HOME)/configure/CONFIG.Common.$(T_A) -include $(HOME)/configure/CONFIG.$(HOST_ARCH).$(T_A) -include $(HOME)/configure/CONFIG.$(EPICS_HOST_ARCH).$(T_A) -include $(HOME)/configure/os/CONFIG.Target.$(T_A) +-include $(HOME)/configure/os/CONFIG.Common.$(T_A) -include $(HOME)/configure/os/CONFIG.$(HOST_ARCH).$(T_A) -include $(HOME)/configure/os/CONFIG.$(EPICS_HOST_ARCH).$(T_A) endif diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index d25224fea..4d4fdfa51 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -57,7 +57,6 @@ endif # Set PROD, OBJS, LIBRARY_HOST, and LIBRARY_IOC ifeq ($(findstring Host,$(VALID_BUILDS)),Host) -PROD += $(PROD_HOST) LIBRARY_HOST += $(LIBRARY) OBJS += $(OBJS_HOST) else diff --git a/configure/os/CONFIG.Common.RTEMS b/configure/os/CONFIG.Common.RTEMS new file mode 100644 index 000000000..2980b3d17 --- /dev/null +++ b/configure/os/CONFIG.Common.RTEMS @@ -0,0 +1,113 @@ +# +# This file contains definitions for RTEMS builds +# +# $Id$ +# Author: W. Eric Norum +# Canadian Light Source +# eric@cls.usask.ca +# + +# +# Build types +# +VALID_BUILDS = Ioc + +# +# Pick up the RTEMS tool/path definitions from the RTEMS BSP directory. +# +ifneq "$(T_A)" "" +RTEMS_MAKEFILE_PATH := $(dir $(RTEMS_MAKEFILE_PATH))/$(subst RTEMS-,,$(T_A)) +-include $(RTEMS_MAKEFILE_PATH)/Makefile.inc +-include $(RTEMS_CUSTOM) +-include $(CONFIG.CC) +endif + +# +# Override RTEMS optimization flags +# +CFLAGS_OPTIMIZE = + +# +# The RTEMS Makefiles redefine several macros, so we have to go +# through the following contortions to get the EPICS flags back. +# Another compilication is that the RTEMS Makefiles use CPPFLAGS for +# c++ compilation. +# +CFLAGS += $(OPT_CFLAGS) $(DEBUG_CFLAGS) $(WARN_CFLAGS) $(TARGET_CFLAGS) \ + $(USR_CFLAGS) $(ARCH_DEP_CFLAGS) $(VENDOR_DEP_CFLAGS) \ + $(STATIC_CFLAGS) $(OP_SYS_CFLAGS) $(INCLUDES) +CPPFLAGS += $(EPICS_BASE_CPPFLAGS) $(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS) +CXXFLAGS += $(OPT_CXXFLAGS) $(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) \ + $(USR_CXXFLAGS) $(ARCH_DEP_CXXFLAGS) $(VENDOR_DEP_CXXFLAGS) $(STATIC_CXXCFLAGS) \ + $(OP_SYS_CFLAGS) $(TEMPL_INST_CXXFLAG) $(INCLUDES) +CPPSNCFLAGS += -x c + +# +# RTEMS already uses `main' +# +ARCH_DEP_CFLAGS = -Dmain=rtems_main + +#-------------------------------------------------- +# operating system class (include/os/) +OS_CLASS = RTEMS + +#------------------------------------------------------- +# Prefix and suffix definitions +EXE = +OBJ = .o + +LIB_PREFIX=lib +LIB_SUFFIX=.a + +#------------------------------------------------------- +# Library definition +LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX)) + +#------------------------------------------------------- +ARFLAGS = -rc + +#-------------------------------------------------- +# C++ compiler definition + +#CPLUSPLUS = $(CC_FOR_TARGET) + +#-------------------------------------------------- +# Operating system flags +OP_SYS_INCLUDES = +OP_SYS_CFLAGS = +OP_SYS_LDFLAGS = +OP_SYS_LDLIBS = + +#-------------------------------------------------- +# Optimization flag overrides +GCC_OPT_YES = -g -O4 +GCC_OPT_NO = -g +G++_OPT_YES = -g -O4 +G++_OPT_NO = -g + +#-------------------------------------------------- +# c++ exceptions, YES or NO +CXX_EXCEPTIONS = NO + +#-------------------------------------------------- +# osithead use default stack, YES or NO +OSITHREAD_USE_DEFAULT_STACK = NO + +#-------------------------------------------------- +# Link definitions +# +LDFLAGS += -L$(EPICS_BASE)/lib/RTEMS-$(RTEMS_BSP) +DEPLIB_LDLIBS = $($*_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\ + $($*_SYS_LIBS:%=-l%) $(SYS_PROD_LIBS:%=-l%) +LINK.cpp = $(CC) $(CXXFLAGS) $(CFLAGS) $(CFLAGS_LD) $(LDFLAGS) \ + $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(DEPLIB_LDFLAGS) \ + $(ARCH_DEP_LDFLAGS) $(STATIC_LDFLAGS) $(OP_SYS_LDFLAGS) \ + -o $@ \ + -u Init -lCom \ + $(PROJECT_RELEASE)/lib/no-dpmem.rel \ + $(PROJECT_RELEASE)/lib/no-mp.rel \ + $(PROJECT_RELEASE)/lib/no-part.rel \ + $(PROJECT_RELEASE)/lib/no-signal.rel \ + $(PROJECT_RELEASE)/lib/no-rtmon.rel \ + +STATIC_BUILD=YES diff --git a/configure/os/CONFIG.Common.RTEMS-gen68360 b/configure/os/CONFIG.Common.RTEMS-gen68360 new file mode 100644 index 000000000..2db0465bf --- /dev/null +++ b/configure/os/CONFIG.Common.RTEMS-gen68360 @@ -0,0 +1,9 @@ +# +# $Id$ +# Author: W. Eric Norum +# Canadian Light Source +# eric@cls.usask.ca +# +# All RTEMS targets use the same Makefile fragment +# +include $(CONFIG)/os/CONFIG.Target.RTEMS diff --git a/configure/os/CONFIG.Common.UnixCommon b/configure/os/CONFIG.Common.UnixCommon new file mode 100644 index 000000000..c3f1fcc3a --- /dev/null +++ b/configure/os/CONFIG.Common.UnixCommon @@ -0,0 +1,86 @@ +# CONFIG.Common.UnixCommon +# +# $Id$ +# +# Contains definitions common to all Unix target archs +# CONFIG.Common. files will override +# +# This file is maintained by the build community. +# Sites may override common definitions in CONFIG_SITE.Common.UnixCommon +#------------------------------------------------------- + +# Unix valid build types + +VALID_BUILDS = Host Ioc + +#------------------------------------------------------- +# Gnu directory + +GNU_DIR = /usr/local + +#------------------------------------------------------- +# Unix prefix and suffix definitions + +EXE = +OBJ = .o +#Library prefix and suffixes +LIB_PREFIX = lib +LIB_SUFFIX = .a +SHRLIB_SUFFIX = .so$(addprefix .,$(SHRLIB_VERSION)) + +#------------------------------------------------------- +# adjust names of libraries to build +# +# -> lib.a +LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX)) +# -> lib.so. +SHRLIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(SHRLIB_SUFFIX)) + +#------------------------------------------------------- +# Shared library definitions + +SHRLIB_LDFLAGS = $($(ANSI)_SHRLIB_LDFLAGS_$(strip $(SHARED_LIBRARIES))) +SHRLIB_LDLIBS = $($*_LIBS:%=-l%) + +INSTALL_SHRLIB = $(INSTALL_LIB) + +#-------------------------------------------------- +# Prod: dependancy definitions + +PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS) $(USR_LIBS),$(firstword $(wildcard \ +$($(lib)_DIR)/$(LIB_PREFIX)$(lib).*))) + +#-------------------------------------------------- +# Prod: LDFLAGS and LDLIBS definitions + +DEPLIB_DIRS = $(dir $($*_DEPLIBS)) $(dir $(PROD_DEPLIBS)) +DEPLIB_LDFLAGS += $(sort $(DEPLIB_DIRS:%=-L%)) + +DEPLIB_LDLIBS = $($*_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\ + $($*_SYS_LIBS:%=-l%) $(SYS_PROD_LIBS:%=-l%) + +######Above DEPLIB_LDFLAGS and DEPLIB_LDLIBS defs might be able to be replaced by the +###### following def if we look for *.so followed by *.a with check for STATIC BUILD +######DEPLIB_LDLIBS = $($*_DEPLIBS) $(PROD_DEPLIBS) $(SYS_PROD_LIBS:%=-l%) + +#-------------------------------------------------- +# Allow code to be used in a shared library +GCC_DEP_CFLAGS = -fPIC +G++_DEP_CFLAGS = -fPIC + +#-------------------------------------------------- +# Operating system definitions +OP_SYS_INCLUDES = +OP_SYS_CPPFLAGS = -DUNIX +OP_SYS_LDFLAGS = +OP_SYS_LDLIBS = -lm + +#-------------------------------------------------- +# Link definitions +LINK.c = $(CC) -o $@ $(LDFLAGS) +LINK.cpp = $(CXX) -o $@ $(LDFLAGS) +LINK.shrlib = $(SHRLIB_LINKER) -o $@ $(SHRLIB_LDFLAGS) $(LDFLAGS) +#-------------------------------------------------- +# Allow site overrides +-include $(CONFIG)/os/CONFIG_SITE.Common.UnixCommon +-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).UnixCommon diff --git a/configure/os/CONFIG.Common.vxWorks-486 b/configure/os/CONFIG.Common.vxWorks-486 new file mode 100644 index 000000000..bbde1b4cd --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks-486 @@ -0,0 +1,25 @@ +# CONFIG.Common.vxWorks-486 +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for vxWorks-486 target archs +# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-486 +#------------------------------------------------------- + +# Include definitions common to all vxWorks archs +include $(CONFIG)/os/CONFIG.Common.vxWorksCommon + +# Vx GNU cross compiler suffix +CMPLR_SUFFIX = 386 + +ARCH_CLASS = pc486 + +ARCH_DEP_CPPFLAGS = -DCPU=I80486 -D_X86_ +ARCH_DEP_CFLAGS = -m486 +ARCH_DEP_CXXFLAGS += -x 'c++' +ARCH_DEP_CFLAGS += -fno-defer-pop + +# Allow site overrides +-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorks-486 + diff --git a/configure/os/CONFIG.Common.vxWorks-68040 b/configure/os/CONFIG.Common.vxWorks-68040 new file mode 100644 index 000000000..36d9975f2 --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks-68040 @@ -0,0 +1,21 @@ +# CONFIG.Common.vxWorks-68040 +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for vxWorks-68040 target archs +# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040 +#------------------------------------------------------- + +# Include definitions common to all vxWorks archs +include $(CONFIG)/os/CONFIG.Common.vxWorksCommon + +# Vx GNU cross compiler suffix +CMPLR_SUFFIX = 68k + +ARCH_CLASS = 68k + +# Architecture specific build flags +ARCH_DEP_CPPFLAGS = -DCPU=MC68040 +ARCH_DEP_CFLAGS = -m68040 + diff --git a/configure/os/CONFIG.Common.vxWorks-68040lc b/configure/os/CONFIG.Common.vxWorks-68040lc new file mode 100644 index 000000000..7242badb4 --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks-68040lc @@ -0,0 +1,20 @@ +# CONFIG.Common.vxWorks-68040lc +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for vxWorks-68040lc target archs +# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68040lc +#------------------------------------------------------- + +# Include definitions common to all vxWorks archs +include $(CONFIG)/os/CONFIG.Common.vxWorksCommon + +# Vx GNU cross compiler suffix +CMPLR_SUFFIX = 68k + +ARCH_CLASS = 68k + +# Architecture specific build flags +ARCH_DEP_CPPFLAGS = -DCPU=MC68040 +ARCH_DEP_CFLAGS = -msoft-float diff --git a/configure/os/CONFIG.Common.vxWorks-68060 b/configure/os/CONFIG.Common.vxWorks-68060 new file mode 100644 index 000000000..1eee53f88 --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks-68060 @@ -0,0 +1,21 @@ +# CONFIG.Common.vxWorks-68060 +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for vxWorks-68060 target archs +# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-68060 +#------------------------------------------------------- + +# Include definitions common to all vxWorks target archs +include $(CONFIG)/os/CONFIG.Common.vxWorksCommon + +# Vx GNU cross compiler suffix +CMPLR_SUFFIX = 68k + +ARCH_CLASS = 68k + +# Architecture specific build flags +ARCH_DEP_CPPFLAGS = -DCPU=MC68060 +ARCH_DEP_CFLAGS = -m68040 + diff --git a/configure/os/CONFIG.Common.vxWorks-pentium b/configure/os/CONFIG.Common.vxWorks-pentium new file mode 100644 index 000000000..6e0a472b7 --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks-pentium @@ -0,0 +1,22 @@ +# CONFIG.Common.vxWorks-pentium +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for vxWorks-pentium target archs +# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-pentium +#------------------------------------------------------- + +# Include definitions common to all vxWorks target archs +include $(CONFIG)/os/CONFIG.Common.vxWorksCommon + +# Vx GNU cross compiler suffix +CMPLR_SUFFIX = 386 + +ARCH_CLASS = pcPentium + +ARCH_DEP_CPPFLAGS = -DCPU=PENTIUM -D_X86_ +ARCH_DEP_CFLAGS = -mpentium +ARCH_DEP_CXXFLAGS += -x 'c++' +ARCH_DEP_CFLAGS += -fno-defer-pop + diff --git a/configure/os/CONFIG.Common.vxWorks-ppc604 b/configure/os/CONFIG.Common.vxWorks-ppc604 new file mode 100644 index 000000000..3cc790781 --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorks-ppc604 @@ -0,0 +1,21 @@ +# CONFIG.Common.vxWorks-ppc604 +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for vxWorks-ppc604 target archs +# Sites may override these definitions in CONFIG_SITE.Common.vxWorks-ppc604 +#------------------------------------------------------- + +# Include definitions common to all vxWorks target archs +include $(CONFIG)/os/CONFIG.Common.vxWorksCommon + +# Vx GNU cross compiler suffix +CMPLR_SUFFIX = ppc + +ARCH_CLASS = ppc + +# Architecture specific build flags +ARCH_DEP_CPPFLAGS = -DCPU=PPC604 +ARCH_DEP_CFLAGS = -mcpu=604 + diff --git a/configure/os/CONFIG.Common.vxWorksCommon b/configure/os/CONFIG.Common.vxWorksCommon new file mode 100644 index 000000000..eee5ad1ac --- /dev/null +++ b/configure/os/CONFIG.Common.vxWorksCommon @@ -0,0 +1,114 @@ +# CONFIG.Common.vxWorksCommon +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for vxWorks target archs +# Sites may override these definitions in CONFIG_SITE.Common.vxWorksCommon + +#------------------------------------------------------- +# Vx valid build types and include directory suffixes +VALID_BUILDS = Ioc + +#-------------------------------------------------- +# operating system class (include/os/) +OS_CLASS = vxWorks + +#------------------------------------------------------- +# Prefix and suffix definitions +EXE = +OBJ = .o +LIB_PREFIX = +LIB_SUFFIX = Library.o +MUNCH_SUFFIX = Library.munch + +#------------------------------------------------------- +# Library definition +# Build both *.o and *.munch libraries +LIBNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX)) +MUNCHNAME = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(MUNCH_SUFFIX)) + +#-------------------------------------------------- +# Library install location override +INSTALL_LOCATION_LIB=$(INSTALL_LOCATION)/bin + +#-------------------------------------------------- +# vxWorks directory definitions + +# The definitions GNU_DIR, GNU_BIN and GNU_LIB +# can be overridden for specific host architectures +# by creating a CONFIG_SITE.Host. file with +# the override definitions. + +# Tornado directory definitions +VX_INCLUDE = $(VX_DIR)/target/h +GNU_DIR = $(VX_DIR)/host/$(WIND_HOST_TYPE) + +GCC_LD = $(GNU_BIN)/$(GNU_TARGET_PREFIX)ld$(CMPLR_SUFFIX) -r + +#------------------------------------------------------- +# GCC override +# use ld partial linking not ar to create libraries) +GCC_AR = $(GCC_LD) +ARFLAGS = -o +GCC_RANLIB = + +GCC_DEP_CPPFLAGS = -D_REENTRANT +G++_DEP_CPPFLAGS = -D_REENTRANT + +#-------------------------------------------------- +# C++ host processing +NM = $(GNU_BIN)/$(GNU_TARGET_PREFIX)nm$(CMPLR_SUFFIX) +ifneq ($(wildcard $(GNU_BIN)/munch.tcl),) +#tornado2 +export WIND_BASE = $(VX_DIR) +export WIND_HOST_TYPE +ifneq ($(WIND_HOST_TYPE),x86-win32) +export PATH := $(GNU_BIN):$(PATH) +endif +MUNCH = $(GNU_BIN)/wtxtcl$(HOSTEXE) $(GNU_BIN)/munch.tcl -asm $(ARCH_CLASS) +else +#tornado101 +MUNCH = $(GNU_BIN)/$(GNU_TARGET_PREFIX)munch$(EXE) +endif + +#-------------------------------------------------- +# Posix flags +POSIX_CPPFLAGS = + +#-------------------------------------------------- +# Operating system flags +OP_SYS_INCLUDES = -I$(VX_INCLUDE) +OP_SYS_CPPFLAGS = -DvxWorks +OP_SYS_CFLAGS = -fno-builtin +OP_SYS_LDFLAGS = +OP_SYS_LDLIBS = + +# Fix for vxWorks headers using macros defined in +# vxWorks.h but not including vxWorks.h +OP_SYS_CFLAGS += -include $(VX_INCLUDE)/vxWorks.h + +#-------------------------------------------------- +# Optimization flag overrides +GCC_OPT_YES = -O2 +GCC_OPT_NO = -g +G++_OPT_YES = -O2 +G++_OPT_NO = -g + +#-------------------------------------------------- +# c++ exceptions, YES or NO +CXX_EXCEPTIONS = NO + +#-------------------------------------------------- +# osithead use default stack, YES or NO +OSITHREAD_USE_DEFAULT_STACK = NO + +#-------------------------------------------------- +# Link definitions +LINK.c = $(GCC_LD) -o $@ $(LDFLAGS) +LINK.cpp = $(GCC_LD) -o $@ $(LDFLAGS) + +#-------------------------------------------------- +# Allow site overrides +-include $(CONFIG)/os/CONFIG_SITE.Common.vxWorksCommon +-include $(CONFIG)/os/CONFIG_SITE.$(EPICS_HOST_ARCH).vxWorksCommon diff --git a/configure/os/CONFIG.UnixCommon.Common b/configure/os/CONFIG.UnixCommon.Common new file mode 100644 index 000000000..571ccc537 --- /dev/null +++ b/configure/os/CONFIG.UnixCommon.Common @@ -0,0 +1,20 @@ +# CONFIG.UnixCommon.Common +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions common to unix hosts +# Sites may override these definitions in CONFIG_SITE.UnixCommon.Common +#------------------------------------------------------- + +# Unix command definitions +CP = cp +MV = mv +RM = rm -f +MKDIR = mkdir +RMDIR = rm -rf +CHMOD = "/bin/chmod" +TOUCH = touch + +# Allow site overrides +-include $(CONFIG)/os/CONFIG_SITE.UnixCommon.Common diff --git a/configure/os/CONFIG.linux-x86.Common b/configure/os/CONFIG.linux-x86.Common new file mode 100644 index 000000000..644abf181 --- /dev/null +++ b/configure/os/CONFIG.linux-x86.Common @@ -0,0 +1,14 @@ +# CONFIG.linux-x86.Common +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for linux-x86 host archs +# Sites may override these definitions in CONFIG_SITE.linux-x86.Common +#------------------------------------------------------- + +#Include definitions common to unix hosts +include $(CONFIG)/os/CONFIG.UnixCommon.Common + +WIND_HOST_TYPE = i386-linux2 + diff --git a/configure/os/CONFIG.linux-x86.linux-x86 b/configure/os/CONFIG.linux-x86.linux-x86 new file mode 100644 index 000000000..ed1f63c74 --- /dev/null +++ b/configure/os/CONFIG.linux-x86.linux-x86 @@ -0,0 +1,33 @@ +# CONFIG.linux-x86.linux-x86 +# +# $Id$ +# +# This file is maintained by the build community. +# Sites may override these definitions in CONFIG_SITE.linux-x86.linux-x86 +#------------------------------------------------------- + +OS_CLASS = Linux +ARCH_CLASS = x86 + +GNU_DIR = /usr + +# Configure OS vendor C compiler +# These are overrides of ANSI and CPLUSPLUS values in CONFIG_SITE +# since OS vendor compilers is gnu compiler +ANSI=GCC +CPLUSPLUS=G++ + +# Configure gnu C compiler +GCC = gcc +G++ = g++ + +AR = ar -rc +ARFLAGS = +RANLIB = ranlib -t + +ARCH_DEP_CPPFLAGS += -D_BSD_SOURCE + +ARCH_DEP_LDFLAGS = +###ARCH_DEP_LDLIBS = -ldl -lpthread +ARCH_DEP_LDLIBS = -lpthread + diff --git a/configure/os/CONFIG.osf-alpha.Common b/configure/os/CONFIG.osf-alpha.Common new file mode 100644 index 000000000..d81101378 --- /dev/null +++ b/configure/os/CONFIG.osf-alpha.Common @@ -0,0 +1,14 @@ +# CONFIG.solaris-sparc.Common +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for solaris-sparc host archs +# Sites may override these definitions in CONFIG_SITE.solaris-sparc.Common +#------------------------------------------------------- + +#Include definitions common to unix hosts +include $(CONFIG)/os/CONFIG.UnixCommon.Common + +WIND_HOST_TYPE = sun4-solaris2 + diff --git a/configure/os/CONFIG.osf-alpha.osf-alpha b/configure/os/CONFIG.osf-alpha.osf-alpha new file mode 100644 index 000000000..c57570840 --- /dev/null +++ b/configure/os/CONFIG.osf-alpha.osf-alpha @@ -0,0 +1,74 @@ +# CONFIG.solaris-sparc.solaris-sparc +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for linux-x86 host archs +# Sites may override these definitions in CONFIG_SITE.solaris-sparc.solaris-sparc +#------------------------------------------------------- + +# Include definitions common to all Unix target archs +include $(CONFIG)/os/CONFIG.Common.UnixCommon + +OS_CLASS = solaris +ARCH_CLASS = sparc + +SPARCWORKS = /opt/SUNWspro + +# Configure OS vendor C compiler +ACC = $(SPARCWORKS)/bin/cc +ACC_CMPLR_CPPFLAGS_ANSI = -Xa +ACC_CMPLR_CPPFLAGS_STRICT = -Xc -v +ACC_CMPLR_CPPFLAGS_TRAD = -Xs +ACC_DEP_CFLAGS = -KPIC +ACC_WARN_YES = +ACC_WARN_NO = -w +ACC_OPT_YES = -xO4 +ACC_OPT_NO = -g +ACC_STATIC_LDFLAGS_YES= -Bstatic +CCC_STATIC_LDLIBS_YES= -lw -lintl -Bdynamic -ldl -lposix4 -lpthread -lthread -Bstatic -lXext -lX +ACC_STATIC_LDLIBS_NO= -lposix4 -lpthread -lthread +ACC_SHRLIB_CFLAGS_YES = +ACC_SHRLIB_LDFLAGS_YES = -G -h $@ +ACC_POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -D_REENTRANT + +# Configure OS vendor C++ compiler +CCC = $(SPARCWORKS)/bin/CC +CCC_CMPLR_CPPFLAGS_NORMAL = +p +CCC_CMPLR_CPPFLAGS_STRICT = +p +CCC_DEP_CFLAGS = -KPIC +CCC_TEMPL_INST_FLAG = +CCC_WARN_YES = +w +CCC_WARN_NO = +CCC_OPT_YES = -O +CCC_OPT_NO = -g +CCC_STATIC_LDFLAGS_YES= -Bstatic +CCC_STATIC_LDLIBS_YES= -lw -lintl -Bdynamic -ldl -lposix4 -lpthread -lthread -Bstatic -lXext -lX +CCC_STATIC_LDLIBS_NO= +CCC_SHRLIB_CFLAGS_YES = +CCC_SHRLIB_LDFLAGS_YES = -G -h $@ +CCC_DEPENDS_FLAG = -xM1 +CCC_POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -D_REENTRANT + +ACC_CPP = cpp + +#Configure gnu compiler +GCC = gcc +G++ = g++ +GCC_CPP = $(GCC) -x c -E + +GCC_POSIX_CPPFLAGS += -D__EXTENSIONS__ +G++_POSIX_CPPFLAGS += -D__EXTENSIONS__ + +RANLIB = +# required by sun's C++ compiler +AR = $(CCC) -xar -o + +ARCH_DEP_CPPFLAGS = +ARCH_DEP_LDLIBS = -lposix4 -lpthread -lthread +# socket and nsl needed by libca.a +ARCH_DEP_LDLIBS += -lsocket -lnsl + +# use loader's -R option +DEPLIB_LDFLAGS += $(sort $(DEPLIB_DIRS:%=-R%)) + diff --git a/configure/os/CONFIG.solaris-sparc.Common b/configure/os/CONFIG.solaris-sparc.Common new file mode 100644 index 000000000..d81101378 --- /dev/null +++ b/configure/os/CONFIG.solaris-sparc.Common @@ -0,0 +1,14 @@ +# CONFIG.solaris-sparc.Common +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for solaris-sparc host archs +# Sites may override these definitions in CONFIG_SITE.solaris-sparc.Common +#------------------------------------------------------- + +#Include definitions common to unix hosts +include $(CONFIG)/os/CONFIG.UnixCommon.Common + +WIND_HOST_TYPE = sun4-solaris2 + diff --git a/configure/os/CONFIG.solaris-sparc.solaris-sparc b/configure/os/CONFIG.solaris-sparc.solaris-sparc new file mode 100644 index 000000000..7fb8458f9 --- /dev/null +++ b/configure/os/CONFIG.solaris-sparc.solaris-sparc @@ -0,0 +1,74 @@ +# CONFIG.solaris-sparc.solaris-sparc +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for linux-x86 host archs +# Sites may override these definitions in CONFIG_SITE.solaris-sparc.solaris-sparc +#------------------------------------------------------- + +# Include definitions common to all Unix target archs +include $(CONFIG)/os/CONFIG.Common.UnixCommon + +OS_CLASS = solaris +ARCH_CLASS = sparc + +SPARCWORKS = /opt/SUNWspro + +# Configure OS vendor C compiler +ACC = $(SPARCWORKS)/bin/cc +ACC_CMPLR_CFLAGS_ANSI = -Xa +ACC_CMPLR_CFLAGS_STRICT = -Xc -v +ACC_CMPLR_CFLAGS_TRAD = -Xs +ACC_DEP_CFLAGS = -KPIC +ACC_WARN_YES = +ACC_WARN_NO = -w +ACC_OPT_YES = -xO4 +ACC_OPT_NO = -g +ACC_STATIC_LDFLAGS_YES= -Bstatic +CCC_STATIC_LDLIBS_YES= -lw -lintl -Bdynamic -ldl -lposix4 -lpthread -lthread -Bstatic -lXext -lX +ACC_STATIC_LDLIBS_NO= -lposix4 -lpthread -lthread +ACC_SHRLIB_CFLAGS_YES = +ACC_SHRLIB_LDFLAGS_YES = -G -h $@ +ACC_POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -D_REENTRANT + +# Configure OS vendor C++ compiler +CCC = $(SPARCWORKS)/bin/CC +CCC_CMPLR_CFLAGS_NORMAL = +p +CCC_CMPLR_CFLAGS_STRICT = +p +CCC_DEP_CFLAGS = -KPIC +CCC_TEMPL_INST_FLAG = +CCC_WARN_YES = +w +CCC_WARN_NO = +CCC_OPT_YES = -O +CCC_OPT_NO = -g +CCC_STATIC_LDFLAGS_YES= -Bstatic +CCC_STATIC_LDLIBS_YES= -lw -lintl -Bdynamic -ldl -lposix4 -lpthread -lthread -Bstatic -lXext -lX +CCC_STATIC_LDLIBS_NO= +CCC_SHRLIB_CFLAGS_YES = +CCC_SHRLIB_LDFLAGS_YES = -G -h $@ +CCC_DEPENDS_FLAG = -xM1 +CCC_POSIX_CPPFLAGS = -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -D_REENTRANT + +ACC_CPP = cpp + +#Configure gnu compiler +GCC = gcc +G++ = g++ +GCC_CPP = $(GCC) -x c -E + +GCC_POSIX_CPPFLAGS += -D__EXTENSIONS__ +G++_POSIX_CPPFLAGS += -D__EXTENSIONS__ + +RANLIB = +# required by sun's C++ compiler +AR = $(CCC) -xar -o + +ARCH_DEP_CPPFLAGS = +ARCH_DEP_LDLIBS = -lposix4 -lpthread -lthread +# socket and nsl needed by libca.a +ARCH_DEP_LDLIBS += -lsocket -lnsl + +# use loader's -R option +DEPLIB_LDFLAGS += $(sort $(DEPLIB_DIRS:%=-R%)) + diff --git a/configure/os/CONFIG.sun4-68k.Common b/configure/os/CONFIG.sun4-68k.Common new file mode 100644 index 000000000..70945e118 --- /dev/null +++ b/configure/os/CONFIG.sun4-68k.Common @@ -0,0 +1,14 @@ +# CONFIG.sun4-68k.Common +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for sun4-68k host archs +# Sites may override these definitions in CONFIG_SITE.sun4-68k.Common +#------------------------------------------------------- + +#Include definitions common to unix hosts +include $(CONFIG)/os/CONFIG.UnixCommon.Common + +WIND_HOST_TYPE = sun4-sunos4 + diff --git a/configure/os/CONFIG.sun4-68k.sun4-68k b/configure/os/CONFIG.sun4-68k.sun4-68k new file mode 100644 index 000000000..6d0a393b3 --- /dev/null +++ b/configure/os/CONFIG.sun4-68k.sun4-68k @@ -0,0 +1,89 @@ +# CONFIG.sun4-68k.sun4-68k +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for sun4-68k target arch when host arch is sun4-68k +# Sites may override these definitions in CONFIG_SITE.sun4-68k.sun4-68k +#------------------------------------------------------- + +# Include definitions common to all Unix target archs +include $(CONFIG)/os/CONFIG.common.UnixCommon + +OS_CLASS = sun4 +ARCH_CLASS = 68k + +RANLIB = ranlib -t + +# required by sun's C++ compiler +AR = $(CCC) -xar -o + +# Configure OS vendor C compilers +ACC = /usr/lang/acc +ACC_CMPLR_CPPFLAGS_ANSI = -Xa +ACC_CMPLR_CPPFLAGS_STRICT = -Xc +ACC_CMPLR_CPPFLAGS_TRAD = -Xs +ACC_WARN_YES = -vc +ACC_WARN_NO = -w +ACC_OPT_YES = -O +ACC_OPT_NO = -g +ACC_STATIC_CFLAGS_YES= -Bstatic +ACC_STATIC_CFLAGS_NO= +ACC_STATIC_LDLIBS_YES= +ACC_STATIC_LDLIBS_NO= +#ACC_OP_SYS_LDFLAGS = -L$(SPECIAL_LANG) +ACC_SHRLIB_CFLAGS_YES = -pic +ACC_SHRLIB_LDFLAGS_YES = -assert pure-text -h $@ + +SUNCC = cc +SUNCC_CMPLR_CPPFLAGS_NORMAL = echo SUNCC_ANSI not defined +SUNCC_CMPLR_CPPFLAGS_STRICT = echo SUNCC_STRICT not defined +SUNCC_CMPLR_TRAD = $(SUNCC) +SUNCC_WARN_YES = +SUNCC_WARN_NO = -w +SUNCC_OPT_YES = -O +SUNCC_OPT_NO = -g +SUNCC_STATIC_CFLAGS_YES= -Bstatic +SUNCC_STATIC_CFLAGS_NO= +SUNCC_STATIC_LDLIBS_YES= +SUNCC_STATIC_LDLIBS_NO= +SUNCC_SHRLIB_CFLAGS_YES = -pic +SUNCC_SHRLIB_LDFLAGS_YES = -assert pure-text -h $@ + +# Configure OS vendor C++ compiler +CCC = /usr/lang/CC +CCC_CMPLR_CPPFLAGS_NORMAL = +CCC_CMPLR_CPPFLAGS_STRICT = +CCC_TEMPL_INST_FLAG = +CCC_WARN_YES = +CCC_WARN_NO = +CCC_TEMPL_INST_FLAG = +CCC_WARN_YES = +w +CCC_WARN_NO = +CCC_OPT_YES = -O +CCC_OPT_NO = -g +CCC_STATIC_CFLAGS_YES= -Bstatic +CCC_STATIC_CFLAGS_NO= +CCC_STATIC_LDLIBS_YES= +CCC_STATIC_LDLIBS_NO= +CCC_DEPENDS_FLAG = -xM1 + +ACC_CPP = cpp + +#Configure gnu compiler +GCC = gcc +G++ = g++ +GCC_CPP = $(GCC) -x c -E + +GCC_ANSI += -D__USE_FIXED_PROTOTYPES__ +GCC_STRICT += -D__USE_FIXED_PROTOTYPES__ + +ACC_ARCH_DEP_LDLIBS = +GCC_ARCH_DEP_LDLIBS = -liberty +ARCH_DEP_LDLIBS = $($(ANSI)_ARCH_DEP_LDLIBS) -lposix4 -lpthread -lthread + +ARCH_DEP_CFLAGS = + +#SPECIAL_LANG = /usr/lang/SC3.0.1 +#SPECIAL_LANG = /usr/lang/lib + diff --git a/configure/os/CONFIG.win32-x86.Common b/configure/os/CONFIG.win32-x86.Common new file mode 100644 index 000000000..65aebbd9f --- /dev/null +++ b/configure/os/CONFIG.win32-x86.Common @@ -0,0 +1,22 @@ +# CONFIG.win32-x86.Common +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for win32-x86 host archs +# Sites may override these definitions in CONFIG_SITE.win32-x86.Common +#------------------------------------------------------- + +CP = $(PERL) $(CONFIG)/tools/cp.pl +MV = $(PERL) $(CONFIG)/tools/mv.pl +RM = $(PERL) $(CONFIG)/tools/rm.pl -f +MKDIR = $(PERL) $(CONFIG)/tools/mkdir.pl +RMDIR = $(PERL) $(CONFIG)/tools/rm.pl -rf +CHMOD = echo +ECHO = echo +TOUCH = type NUL >> + +WIND_HOST_TYPE = x86-win32 + +HOSTEXE=.exe + diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 new file mode 100644 index 000000000..e7478fe8f --- /dev/null +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -0,0 +1,282 @@ +# CONFIG.win32-x86.win32-x86 +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for win32-x86 target archs when host arch is win32-x86 +# Sites may override these definitions in CONFIG_SITE.win32-x86.win32-x86 +#------------------------------------------------------- + +# Win32 valid build types and include directory suffixes + +VALID_BUILDS = Host Ioc + +#------------------------------------------------------- + +# Use std path variables from ms +HOME = $(HOMEDRIVE)$(HOMEPATH) + +# +# You currently get Visual C++ even if you ask for GNU. +# +# !! borlund support needed here !! +# +ANSI = ACC +CPLUSPLUS = CCC + +# +# "\ " forces gnu make to keep this as one token +# +MSVISC = c:\\Program\ Files\\DevStudio\\Vc +WINLINK = link + +RCCMD = rc -l 0x409 -fo $@ $< + +ARCMD = lib /nologo /verbose /out:$@ \ + $(addsuffix .lib,$($*_SYS_DLL_LIBS) $(SYS_DLL_LIBS)) + +BAFCMD = bscmake /nologo /o $@ + +# +# Configure OS vendor C compiler +ACC = cl + +# +# __STDC__=0 is a real great idea of Jeff that gives us both: +# 1) define STDC for build code (pretend ANSI conformance) +# 2) set it to 0 to use MS C "extensions" (open for _open etc.) +# because MS uses: if __STDC__ ... disable many nice things +# +# Use of /Za would dissable DLL import/export keywords which +# include/excludes using architecture neutral macros +ACC_CMPLR_CPPFLAGS_ANSI = /nologo /D__STDC__=0 +ACC_CMPLR_CPPFLAGS_STRICT = /nologo /D__STDC__=0 +ACC_CMPLR_CPPFLAGS_TRAD = /nologo + +# +# /W use warning level N +# (maximum (lint type) warnings at level 4) +ACC_WARN_YES = /W3 +ACC_WARN_NO = /W1 + +# +# /Ox maximum optimizations +# /MD use MSVCRT (run-time as DLL, multi-thread support) +ACC_OPT_YES = /Ox + +# +# /Zi include debugging info in object files +# /Fr create source browser file +ACC_OPT_NO = /Zi /Fr + +# +# the following options are required when +# vis c++ compiles the code (and includes +# the header files) +# +# /MT static multithreaded C RTL +# /MTd static multithreaded C RTL (debug version) +# /MD multithreaded C RTL in DLL +# /MDd multithreaded C RTL in DLL (debug version) +VISC_DLL_NO = -DEPICS_DLL_NO +VISC_DLL_YES = +VISC_DLL = $(VISC_DLL_$(SHARED_LIBRARIES)) +VISC_STATIC_CFLAGS_DEBUG_NO = d +VISC_STATIC_CFLAGS_DEBUG_YES = +VISC_STATIC_CFLAGS_DEBUG = $(VISC_STATIC_CFLAGS_DEBUG_$(HOST_OPT)) +ACC_STATIC_CFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) +ACC_STATIC_CFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) + +# +# no special libs for static link +# +ACC_STATIC_LDLIBS_YES= +ACC_STATIC_LDLIBS_NO= + +# OS vendor c preprocessor +ACC_CPP = cl /E + +# Configure OS vendor C++ compiler +# +# __STDC__=0 is a real great idea of Jeff that gives us both: +# 1) define STDC for code (pretend ANSI conformance) +# 2) set it to 0 to use MS C "extensions" (open for _open etc.) +# because MS uses: if __STDC__ ... disable many nice things +# +# Use of /Za would dissable DLL import/export keywords which +# include/excludes using architecture neutral macros +CCC = cl +CCC_CMPLR_CPPFLAGS_NORMAL = /nologo /D__STDC__=0 /GX +CCC_CMPLR_CPPFLAGS_STRICT = /nologo /D__STDC__=0 /GX +CCC_TEMPL_INST_FLAG = + +# +# /W use warning level N +# (maximum lint level warnings at level 4) +CCC_WARN_YES = /W3 +CCC_WARN_NO = /W1 + +# +# /Ox maximum optimizations +CCC_OPT_YES = /Ox + +# +# /Zi include debugging info in object files +# /Fr create source browser file +CCC_OPT_NO = /Zi /Fr + +# +# the following options are required when +# vis c++ compiles the code (and includes +# the header files) +# +# /MT static multithreaded C RTL +# /MTd static multithreaded C RTL (debug version) +# /MD multithreaded C RTL in DLL +# /MDd multithreaded C RTL in DLL (debug version) +CCC_STATIC_CFLAGS_YES= /MT$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) +CCC_STATIC_CFLAGS_NO= /MD$(VISC_STATIC_CFLAGS_DEBUG) $(VISC_DLL) + +# +# no special libs for static link +# +CCC_STATIC_LDLIBS_YES= +CCC_STATIC_LDLIBS_NO= + +LINK_OPT_FLAGS_YES = /WARN:3 /incremental:no /opt:ref\ +/release $(PROD_VERSION:%=/version:%) +LINK_OPT_FLAGS_NO = /WARN:3 /debug +OPT_LDFLAGS = $(LINK_OPT_FLAGS_$(HOST_OPT)) + +ARCH_DEP_CFLAGS= + +# to identify the general architecture class: +# should be BSD, SYSV, WIN32, ... +# is: WIN32, sun4, hpux, linux, ... +# +OS_CLASS=WIN32 + +# ifdef WIN32 looks better that ifeq ($(OS_CLASS),WIN32) ?? +WIN32=1 + +EXE=.exe +OBJ=.obj +RES=.res +BAF=.bsc +BOF=.sbr + +# Problem: MS Visual C++ does not recognize *.cc as C++ source, +# we have to compile xx.cc using the flag -Tp xx.cc, +# i.e. -Tp has to be immediately before the source file name +SOURCE_CXXFLAG = /Tp + +# Operating system flags +OP_SYS_CFLAGS = + +# +# WIN32 specific include files +# +#OP_SYS_INCLUDES = -I$(INSTALL_INCLUDE)\\os\\WIN32 + +# +# These are now added to the individual makefiles that use them in order to +# speed up the build +# +#OP_SYS_LDLIBS = user32.lib kernel32.lib advapi32.lib winmm.lib +OP_SYS_LDLIBS = + +# Files and flags needed to link DLLs (used in RULES_BUILD) +# +# Strange but seems to work without: WIN32_DLLFLAGS should contain +# an entry point: +# '-entry:_DllMainCRTStartup$(DLLENTRY)' +DLLENTRY = @12 + +WIN32_DLLFLAGS = /subsystem:windows /dll $(OPT_LDFLAGS) + +# +# specify dll .def file only if it exists +# +DLL_DEF_FLAG = $(addprefix /def:,$(wildcard ../$(BUILD_LIBS).def)) + +# HOST_OPT_FLAGS is part of CFLAGS/CXXFLAGS, +# which in turn are used in COMPILE.c[c] +# +# If we compile a .c, .cc into an $(OBJ), +# we test if this object is part of the +# library objects LIBOBJS_HOST. +# If so, we define _WINDLL so that +# e.g. include/shareLib.h works correctly. +# +HOST_OPT_FLAGS += $(subst $@, /_WINDLL, $(findstring $@,$(LIBOBJS_HOST))) + +# +# A WIN32 dll has three parts: +# x.dll: the real dll (SHRLIBNAME) +# x.lib: what you link to progs that use the dll (LIBNAME) +# x.exp: what you need to build the dll (in no variable) +# +LINK.shrlib = $(WINLINK) /nologo $(WIN32_DLLFLAGS) /implib:$*.lib /out:$*.dll $(DLL_DEF_FLAG) + +# adjust names of libraries to build +# +# But: if there are no objects LIBOBJS to include +# in this library (may be for e.g. base/src/libCompat +# on some archs), don't define (and build) any library! +SHRLIB_SUFFIX=.dll +SHRLIBNAME = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX)) + + +# +# Under WIN32 we have the unique situation where the DLL link creates the +# DLL link library xxx.lib and we need to be very careful to avoid replacing +# the xxx.lib created by the dll link with an xxx.lib created by $(AR). +# Therefore, the object library is named xxxObj.lib +# +# SHARED_LIBRARIES is YES if we are building a DLL and NO if we aren't +# +DLL_LINK_LIBNAME_YES = $(BUILD_LIBRARY:%=%.lib) +DLL_LINK_LIBNAME = $(DLL_LINK_LIBNAME_$(SHARED_LIBRARIES)) +LIB_PREFIX= +LIB_SUFFIX=Obj.lib +LIBNAME = $(BUILD_LIBRARY:%=%$(LIB_SUFFIX)) + +# dll install location +INSTALL_SHRLIB = $(INSTALL_BIN) + +#-------------------------------------------------- +# Object lib name suffix +OBJECT_LIB_EXT_YES = Obj.lib # object library extension for static build +OBJECT_LIB_EXT_NO = .lib # object library extension for dynamic build +OBJECT_LIB_EXT = $(OBJECT_LIB_EXT_$(STATIC_BUILD)) + +#-------------------------------------------------- +# Products dependancy definitions +PROD_DEPLIBS = $(foreach lib,$(PROD_LIBS) $(USR_LIBS),$(firstword \ + $($(lib)_DIR)/$(lib)$(OBJECT_LIB_EXT))) +DEPLIB_LDLIBS = $($*_DEPLIBS) $(PROD_DEPLIBS) \ + $($*_SYS_LIBS:%=%.lib) $(SYS_PROD_LIBS:%=%.lib) + +#-------------------------------------------------- +#Libraries dependancy definitions + +# EPICS libs that we need to link the DLL with +# (it isnt necessary to rebuild the dll if these change) +DLL_DEPLIBS = $(foreach lib,$($*_DLL_LIBS) $(DLL_LIBS),$($(lib)_DIR)/$(lib).lib) + +SHRLIB_LDLIBS = $(DLL_DEPLIBS) $($*_SYS_DLL_LIBS:%=%.lib) \ + $(SYS_DLL_LIBS:%=%.lib) $(OP_SYS_LDLIBS) + +#-------------------------------------------------- + +LINK.c = $(WINLINK) -nologo $(LDFLAGS) -out:$@ +LINK.cpp = $(WINLINK) -nologo $(LDFLAGS) -out:$@ + +#-------------------------------------------------- + +# Use std path variables from ms +HOME = $(HOMEDRIVE)$(HOMEPATH) + +# override of CONFIG_SITE +SHARED_LIBRARIES = YES + diff --git a/configure/os/CONFIG_COMPAT b/configure/os/CONFIG_COMPAT index 0bf54ba7c..4cf3b284c 100644 --- a/configure/os/CONFIG_COMPAT +++ b/configure/os/CONFIG_COMPAT @@ -1,8 +1,10 @@ +# CONFIG_COMPAT # # $Id$ # # Convert old HOST_ARCH environment variable to # new EPICS_HOST_ARCH environment variable +#------------------------------------------------------- #Syntax: # ARCH_ = diff --git a/configure/os/CONFIG_SITE.Common.vxWorks-ppc604 b/configure/os/CONFIG_SITE.Common.vxWorks-ppc604 new file mode 100644 index 000000000..273b28273 --- /dev/null +++ b/configure/os/CONFIG_SITE.Common.vxWorks-ppc604 @@ -0,0 +1,10 @@ +# CONFIG_SITE.Common.vxWorks-ppc604 +# +# $Id$ +# +# Site Specific definitions for vxWorks-ppc604 target +# Only the local epics system manager should modify this file + +# APS override +VX_DIR = /usr/local/vw/tornado101ppc + diff --git a/configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 b/configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 index 20ff5c570..e6f80192d 100644 --- a/configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 +++ b/configure/os/CONFIG_SITE.linux-x86.vxWorks-68040 @@ -1,6 +1,10 @@ +# CONFIG_SITE.linux-x86.vxWorks-68040 # # $Id$ # +# Site specific definitions for vxWorks-68040 target when host is linux-x86 +# Only the local epics system manager should modify this file +#------------------------------------------------------- # JBA test override values #CMPLR_SUFFIX= diff --git a/configure/os/CONFIG_SITE.linux-x86.vxWorksCommon b/configure/os/CONFIG_SITE.linux-x86.vxWorksCommon new file mode 100644 index 000000000..70e00868f --- /dev/null +++ b/configure/os/CONFIG_SITE.linux-x86.vxWorksCommon @@ -0,0 +1,13 @@ +# +# $Id$ +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# JBA test override values +GNU_DIR=/home/phoebus/JBA/gnu +VX_INCLUDE=$(GNU_DIR)/$(GNU_TARGET)/include +GCC = $(GNU_BIN)/$(GNU_TARGET_PREFIX)gcc$(CMPLR_SUFFIX) +G++ = $(GNU_BIN)/$(GNU_TARGET_PREFIX)gcc$(CMPLR_SUFFIX) +MUNCH = echo " " + diff --git a/configure/os/CONFIG_SITE.solaris-sparc.Common b/configure/os/CONFIG_SITE.solaris-sparc.Common new file mode 100644 index 000000000..76f9b882d --- /dev/null +++ b/configure/os/CONFIG_SITE.solaris-sparc.Common @@ -0,0 +1,9 @@ +# CONFIG_SITE.solaris-sparc.Common +# +# $Id$ +# +# Site specific definitions for solaris-sparc host +# Only the local epics system manager should modify this file + +#INSTALL_LOCATION = /home/phoebus/JBA/testBaseNew + diff --git a/configure/os/CONFIG_SITE.win32-x86.Common b/configure/os/CONFIG_SITE.win32-x86.Common new file mode 100644 index 000000000..70804b1a6 --- /dev/null +++ b/configure/os/CONFIG_SITE.win32-x86.Common @@ -0,0 +1,11 @@ +# CONFIG_SITE.win32-x86.Common +# +# $Id$ +# +# Site specific definitions for win32-x86 host +# Only the local epics system manager should modify this file + +# jba overrides +CROSS_COMPILER_TARGET_ARCHS= +#INSTALL_LOCATION = G:\\testBaseNew +