diff --git a/config/CONFIG b/config/CONFIG index 986354900..a674a16e7 100644 --- a/config/CONFIG +++ b/config/CONFIG @@ -74,7 +74,7 @@ endif #VX_WARN=YES #etc. -#CROSS_COMPILER_TARGET_ARCHS=mv167 +CROSS_COMPILER_TARGET_ARCHS=mv167 #ANSI=GCC #CPLUSPLUS=G++ #CMPLR=STRICT diff --git a/config/CONFIG.Host.Linux b/config/CONFIG.Host.Linux index 092f0f7fc..6cf45d382 100644 --- a/config/CONFIG.Host.Linux +++ b/config/CONFIG.Host.Linux @@ -22,7 +22,7 @@ ACC_ANSI = $(ACC) ACC_STRICT = $(ACC) -pedantic #ACC_STRICT = $(ACC) -ansi -pedantic -D_SVID_SOURCE ACC_TRAD = $(ACC) -ACC_WARN_YES = +ACC_WARN_YES = -Wall ACC_WARN_NO = -w ACC_OPT_YES = -O ACC_OPT_NO = -g @@ -39,8 +39,8 @@ ACC_SHRLIB_LDFLAGS_YES = -shared -Wl,-soname,$@ CCC = g++ CCC_NORMAL = $(CCC) CCC_STRICT = $(CCC) -CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL -CCC_WARN_YES = +#CCC_TEMPL_INST_FLAG = -DEXPL_TEMPL +CCC_WARN_YES = -Wall CCC_WARN_NO = CCC_OPT_YES = -O CCC_OPT_NO = -g @@ -57,7 +57,7 @@ GCC_STRICT = $(GCC) G++_STRICT = $(G++) -Wtraditional -ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD +#ARCH_DEP_CFLAGS = -D_X86_ -Dlinux -D_USE_BSD ARCH_DEP_CFLAGS = -D_X86_ -Dlinux ARCH_DEP_LDFLAGS = diff --git a/config/CONFIG.Host.UnixCommon b/config/CONFIG.Host.UnixCommon index be70bd8ed..24df0af72 100644 --- a/config/CONFIG.Host.UnixCommon +++ b/config/CONFIG.Host.UnixCommon @@ -60,9 +60,6 @@ USR_LDFLAGS += $(sort $(USR_DIRS:%=-L%)) USR_LDLIBS = $(PRODNAME_LIBS:%=-l%) $(PROD_LIBS:%=-l%) $(USR_LIBS:%=-l%)\ $(SYS_PROD_LIBS:%=-l%) -#USR_LDLIBS = $(PRODNAME_DEPLIBS:%=-L%) $(PROD_DEPLIBS:%=-L%) $(USR_DEPLIBS)\ -# $(USR_XLDLIBS) - #-------------------------------------------------- # Operating system definitions OP_SYS_INCLUDES = diff --git a/config/CONFIG.Host.WIN32 b/config/CONFIG.Host.WIN32 index 2103736d8..54d2d1383 100644 --- a/config/CONFIG.Host.WIN32 +++ b/config/CONFIG.Host.WIN32 @@ -158,7 +158,7 @@ OP_SYS_CFLAGS = # # WIN32 specific include files # -OP_SYS_INCLUDES = -I$(EPICS_BASE_INCLUDE)\\os\\WIN32 +#OP_SYS_INCLUDES = -I$(EPICS_BASE_INCLUDE)\\os\\WIN32 # # These are now added to the individual makefiles that use them in order to diff --git a/config/CONFIG.Host.alpha b/config/CONFIG.Host.alpha index af7406d36..78df9a385 100644 --- a/config/CONFIG.Host.alpha +++ b/config/CONFIG.Host.alpha @@ -23,8 +23,8 @@ ACC_SFLAGS_YES= -non_shared ACC_SFLAGS_NO= -call_shared ACC_SLIBS_YES = ACC_SLIBS_NO= -ACC_SHRLIB_CFLAGS_YES = -shared -ACC_SHRLIB_LDFLAGS_YES = +ACC_SHRLIB_CFLAGS_YES = +ACC_SHRLIB_LDFLAGS_YES = -shared # Configure OS vendor C++ compiler CCC = cxx @@ -42,5 +42,5 @@ CCC_SLIBS_NO= CCC_DEPENDS_FLAG = ARCH_DEP_CFLAGS = -D_OSF_SOURCE -ARCH_DEP_LDLIBS = -lnsl +ARCH_DEP_LDLIBS = diff --git a/config/CONFIG.Host.solaris b/config/CONFIG.Host.solaris index 055f862d1..c13cbe3a2 100644 --- a/config/CONFIG.Host.solaris +++ b/config/CONFIG.Host.solaris @@ -26,6 +26,7 @@ ACC = $(SPARCWORKS)/bin/cc ACC_ANSI = $(ACC) -Xa ACC_STRICT = $(ACC) -Xc -v ACC_TRAD = $(ACC) -Xs +ACC_DEP_CFLAGS = -KPIC -D_REENTRANT ACC_WARN_YES = ACC_WARN_NO = -w ACC_OPT_YES = -O @@ -34,13 +35,14 @@ ACC_SFLAGS_YES= -Bstatic ACC_SFLAGS_NO= ACC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX ACC_SLIBS_NO= -ACC_SHRLIB_CFLAGS_YES = -KPIC -D_REENTRANT +ACC_SHRLIB_CFLAGS_YES = ACC_SHRLIB_LDFLAGS_YES = -G -h $@ # Configure OS vendor C++ compiler CCC = $(SPARCWORKS)/bin/CC CCC_NORMAL = $(CCC) +p CCC_STRICT = $(CCC) +p +CCC_DEP_CFLAGS = -KPIC -D_REENTRANT CCC_TEMPL_INST_FLAG = CCC_WARN_YES = +w CCC_WARN_NO = @@ -52,6 +54,7 @@ CCC_SLIBS_YES= -lw -lintl -Bdynamic -ldl -Bstatic -lXext -lX CCC_SLIBS_NO= CCC_DEPENDS_FLAG = -xM1 + ARCH_DEP_CFLAGS = -DSOLARIS # socket and nsl needed by libca.a ARCH_DEP_LDLIBS = -lsocket -lnsl diff --git a/config/CONFIG.Vx b/config/CONFIG.Vx index 854842a59..16de8d78c 100644 --- a/config/CONFIG.Vx +++ b/config/CONFIG.Vx @@ -95,7 +95,22 @@ OP_SYS_LDLIBS = #-------------------------------------------------- # Optimization flag overrides GCC_OPT_YES = -O2 -fstrength-reduce +GCC_OPT_NO = G++_OPT_YES = -O2 -fstrength-reduce +G++_OPT_NO = + +OPT_CFLAGS = $($(ANSI)_OPT_$(VX_OPT)) +OPT_CXXFLAGS = $($(CPLUSPLUS)_OPT_$(VX_OPT)) + +#-------------------------------------------------- +# Warning flag overrides +GCC_WARN_YES = -Wall +GCC_WARN_NO = -w +G++_WARN_YES = -Wall +G++_WARN_NO = -w + +WARN_CFLAGS = $($(ANSI)_WARN_$(VX_WARN)) +WARN_CXXFLAGS = $($(CPLUSPLUS)_WARN_$(VX_WARN)) #-------------------------------------------------- # Link definitions diff --git a/config/CONFIG.Vx.frc40 b/config/CONFIG.Vx.frc40 index a07a92d0c..b9ddff238 100644 --- a/config/CONFIG.Vx.frc40 +++ b/config/CONFIG.Vx.frc40 @@ -10,5 +10,6 @@ CMPLR_SUFFIX = 68k ARCH_CLASS = 68k # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=MC68040 -m68040 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CFLAGS = -m68040 diff --git a/config/CONFIG.Vx.frc5ce b/config/CONFIG.Vx.frc5ce index 2bf674f39..6d2527e7a 100644 --- a/config/CONFIG.Vx.frc5ce +++ b/config/CONFIG.Vx.frc5ce @@ -8,7 +8,8 @@ CMPLR_SUFFIX = sparc ARCH_CLASS = sparc # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=SPARC -DCPU_FAMILY=SPARC +ARCH_DEP_CPPFLAGS = -DCPU=SPARC -DCPU_FAMILY=SPARC +ARCH_DEP_CFLAGS = # Removed -O2 [24/12/96 PMM] OLD_ARCH_DEP_CXXFLAGS = -fno-builtin -ansi -pipe -nostdinc -DCPU=SPARC \ -DVXWORKS -Dsigned= -Dvolatile= +V diff --git a/config/CONFIG.Vx.hkbaja47 b/config/CONFIG.Vx.hkbaja47 index 5597d99c5..5045dfdb9 100644 --- a/config/CONFIG.Vx.hkbaja47 +++ b/config/CONFIG.Vx.hkbaja47 @@ -11,7 +11,8 @@ CMPLR_SUFFIX = mips ARCH_CLASS = mips # Architecture specific build flags -ARCH_DEP_CFLAGS = -EB -mcpu=r4000 -mips3 -mgp32 -mfp32 -non_shared -G 0 -DCPU=R4000 +ARCH_DEP_CPPFLAGS = -DCPU=R4000 +ARCH_DEP_CFLAGS = -EB -mcpu=r4000 -mips3 -mgp32 -mfp32 -non_shared -G 0 # Arch specific flags GCC += -fsigned-char diff --git a/config/CONFIG.Vx.hkv2f b/config/CONFIG.Vx.hkv2f index 75742b2e1..af8ab6864 100644 --- a/config/CONFIG.Vx.hkv2f +++ b/config/CONFIG.Vx.hkv2f @@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k ARCH_CLASS = 68k # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=MC68020 -m68020 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CPPFLAGS = -DCPU=MC68020 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CFLAGS = -m68020 diff --git a/config/CONFIG.Vx.mv147 b/config/CONFIG.Vx.mv147 index 21d0612eb..2fe2b0df5 100644 --- a/config/CONFIG.Vx.mv147 +++ b/config/CONFIG.Vx.mv147 @@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k ARCH_CLASS = 68k # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=MC68030 -m68030 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CPPFLAGS = -DCPU=MC68030 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CFLAGS = -m68030 diff --git a/config/CONFIG.Vx.mv1604 b/config/CONFIG.Vx.mv1604 index aa958c30e..d15ade983 100644 --- a/config/CONFIG.Vx.mv1604 +++ b/config/CONFIG.Vx.mv1604 @@ -10,5 +10,6 @@ CMPLR_SUFFIX = ppc ARCH_CLASS = ppc # Architecture specific build flags (TRUE=1 via LBL; needed in camessage.c) -ARCH_DEP_CFLAGS = -fno-for-scope -DCPU_FAMILY=PPC -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1 +ARCH_DEP_CPPFLAGS = -DCPU_FAMILY=PPC -DCPU=PPC604 -D_GNU_TOOL -DTRUE=1 +ARCH_DEP_CFLAGS = -fno-for-scope diff --git a/config/CONFIG.Vx.mv162 b/config/CONFIG.Vx.mv162 index 52ab428f2..702ed9c79 100644 --- a/config/CONFIG.Vx.mv162 +++ b/config/CONFIG.Vx.mv162 @@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k ARCH_CLASS = 68k # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=MC68040 -m68040 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CFLAGS = -m68040 diff --git a/config/CONFIG.Vx.mv162lc b/config/CONFIG.Vx.mv162lc index e63415fa1..ace338d1f 100644 --- a/config/CONFIG.Vx.mv162lc +++ b/config/CONFIG.Vx.mv162lc @@ -11,4 +11,5 @@ CMPLR_SUFFIX = 68k ARCH_CLASS = 68k # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=MC68040 -msoft-float -DCPU_FAMILY=MC680X0 +ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CFLAGS = -msoft-float diff --git a/config/CONFIG.Vx.mv167 b/config/CONFIG.Vx.mv167 index 52ab428f2..702ed9c79 100644 --- a/config/CONFIG.Vx.mv167 +++ b/config/CONFIG.Vx.mv167 @@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k ARCH_CLASS = 68k # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=MC68040 -m68040 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CPPFLAGS = -DCPU=MC68040 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CFLAGS = -m68040 diff --git a/config/CONFIG.Vx.mv177 b/config/CONFIG.Vx.mv177 index 4ec36d240..983054897 100644 --- a/config/CONFIG.Vx.mv177 +++ b/config/CONFIG.Vx.mv177 @@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k ARCH_CLASS = 68k # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=MC68060 -m68040 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CPPFLAGS = -DCPU=MC68060 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CFLAGS = -m68040 diff --git a/config/CONFIG.Vx.niCpu030 b/config/CONFIG.Vx.niCpu030 index a56b1fe9b..5c80afcef 100644 --- a/config/CONFIG.Vx.niCpu030 +++ b/config/CONFIG.Vx.niCpu030 @@ -11,5 +11,6 @@ CMPLR_SUFFIX = 68k ARCH_CLASS = 68k # Architecture specific build flags -ARCH_DEP_CFLAGS = -DCPU=MC68030 -m68030 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CPPFLAGS = -DCPU=MC68030 -DCPU_FAMILY=MC680X0 +ARCH_DEP_CFLAGS = -m68030 diff --git a/config/CONFIG.Vx.pc486 b/config/CONFIG.Vx.pc486 index d45f205ab..2fdabe6e4 100644 --- a/config/CONFIG.Vx.pc486 +++ b/config/CONFIG.Vx.pc486 @@ -10,7 +10,8 @@ CMPLR_SUFFIX = 386 # $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin ARCH_CLASS = pc486 -ARCH_DEP_CFLAGS = -DCPU=I80486 -m486 -DCPU_FAMILY=I80x86 -D_X86_ +ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_ +ARCH_DEP_CFLAGS = -m486 ARCH_DEP_CXXFLAGS += -x 'c++' ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop diff --git a/config/CONFIG.Vx.vxipc b/config/CONFIG.Vx.vxipc index 1a3276c32..1d1606aa0 100644 --- a/config/CONFIG.Vx.vxipc +++ b/config/CONFIG.Vx.vxipc @@ -10,7 +10,8 @@ CMPLR_SUFFIX = 386 # $(VX_DIR)/$(HOST_ARCH).$(ARCH_CLASS)/bin ARCH_CLASS = pc486 -ARCH_DEP_CFLAGS = -DCPU=I80486 -m486 -DCPU_FAMILY=I80x86 -D_X86_ +ARCH_DEP_CPPFLAGS = -DCPU=I80486 -DCPU_FAMILY=I80x86 -D_X86_ +ARCH_DEP_CFLAGS = -m486 ARCH_DEP_CXXFLAGS += -x 'c++' ARCH_DEP_CFLAGS += -fno-builtin -fno-defer-pop diff --git a/config/CONFIG_BASE b/config/CONFIG_BASE index de966eb01..54ffa630c 100644 --- a/config/CONFIG_BASE +++ b/config/CONFIG_BASE @@ -35,8 +35,8 @@ DIRS += iocCore # # if CPLUSPLUS isnt empty then include C++ src codes # -DIRS += $(patsubst %,gdd,$(strip $(CPLUSPLUS))) -DIRS += $(patsubst %,cas,$(strip $(CPLUSPLUS))) +#DIRS += $(patsubst %,gdd,$(strip $(CPLUSPLUS))) +#DIRS += $(patsubst %,cas,$(strip $(CPLUSPLUS))) EPICS_BASE = $(TOP) diff --git a/config/CONFIG_BASE_VERSION b/config/CONFIG_BASE_VERSION index 7cce49a84..6b34e927b 100644 --- a/config/CONFIG_BASE_VERSION +++ b/config/CONFIG_BASE_VERSION @@ -11,7 +11,7 @@ EPICS_VERSION=3 EPICS_REVISION=13 EPICS_MODIFICATION=1 EPICS_UPDATE_NAME= -EPICS_UPDATE_LEVEL=0 +EPICS_UPDATE_LEVEL=1 EPICS_VERSION_STRING="EPICS Version ${EPICS_VERSION}.${EPICS_REVISION}.${EPICS_MODIFICATION}.${EPICS_UPDATE_NAME}${EPICS_UPDATE_LEVEL}" diff --git a/config/CONFIG_HOST_ARCH.UnixCommon b/config/CONFIG_HOST_ARCH.UnixCommon index 4b99d02a3..23308c4b3 100644 --- a/config/CONFIG_HOST_ARCH.UnixCommon +++ b/config/CONFIG_HOST_ARCH.UnixCommon @@ -10,5 +10,3 @@ MKDIR = mkdir RMDIR = rm -rf CHMOD = "/bin/chmod" -PERL = /usr/bin/perl - diff --git a/config/CONFIG_HOST_ARCH.WIN32 b/config/CONFIG_HOST_ARCH.WIN32 index 85fef01af..232272128 100644 --- a/config/CONFIG_HOST_ARCH.WIN32 +++ b/config/CONFIG_HOST_ARCH.WIN32 @@ -16,4 +16,3 @@ WIND_HOST_TYPE = x86-win32 # Use std path variables from ms HOME = $(HOMEDRIVE)$(HOMEPATH) -PERL = C:\\Perl\\bin\\Perl$(EXE) diff --git a/config/CONFIG_HOST_ARCH.cygwin32 b/config/CONFIG_HOST_ARCH.cygwin32 index 0eefc4a8e..46c99c9d0 100644 --- a/config/CONFIG_HOST_ARCH.cygwin32 +++ b/config/CONFIG_HOST_ARCH.cygwin32 @@ -11,4 +11,3 @@ TORNADO=YES WIND_HOST_TYPE = cygwin32 -PERL = C:\\Perl\\bin\\Perl$(EXE) diff --git a/config/CONFIG_SITE b/config/CONFIG_SITE index 02eba71b2..1680d6c68 100644 --- a/config/CONFIG_SITE +++ b/config/CONFIG_SITE @@ -20,6 +20,7 @@ # sgi # Linux # WIN32 +# LynxOS # # HOST_ARCH now an environment variable # HOST_ARCH=$(shell /usr/local/epics/startup/HostArch) @@ -66,7 +67,7 @@ VX_DIR_YES = /usr/local/vw/tornado101 VX_DIR_NO=/usr/local/vw/vxV52p1/vw # Directory for TORNADO=NO gnu gcc crosscompiler -VX_GNU_NO = $(VX_DIR)/../vxgccV2.2.3.1 +VX_GNU_NO = $(VX_DIR_NO)/../vxgccV2.2.3.1 # Directory for TORNADO=NO gnu g++ crosscompiler # used by applications for hideos builds only @@ -77,13 +78,11 @@ GNU_DIR = /usr/local/hideos/gnu_install-2.7.2 # GCC (gcc -ansi) GNU # ACC (acc) OS VENDOR # HPACC (cc -Aa) OTHER VENDOR -#ANSI=HPACC ANSI=ACC # C++ Compiler (for Host builds) # G++ (g++) GNU C++ # CCC (CC) OS VENDOR C++ -#CPLUSPLUS=G++ #Note: if CPLUSPLUS is empty then C++ src codes are not built #CPLUSPLUS= # use this if site does not have C++ compiler CPLUSPLUS=CCC diff --git a/config/RULES.Host b/config/RULES.Host index 713d70618..02a6ba8e0 100644 --- a/config/RULES.Host +++ b/config/RULES.Host @@ -1,4 +1,3 @@ - # $Id$ # # Rules for making things specified in Makefile.Host @@ -288,12 +287,8 @@ endif endif #--------------------------------------------------------------- -# must use c++ linker if linking to shared libs with c++ code -ifeq ($(strip $(SHARED_LIBRARIES)),YES) -ifneq ($(strip $(CPLUSPLUS)),) +# always use c++ linker LINK.c = $(LINK.cc) -endif # CPLUSPLUS -endif # LIBTYPE #--------------------------------------------------------------- # Version number for base shared libraries (and win32 products) @@ -311,12 +306,13 @@ endif # EPICS_BASE ifdef LIBRARY ifdef LIBOBJS LIBTARGETS += $(LIBNAME) $(INSTALL_LIBS) -CFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES) -CXXFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES) # check if shared libraries requested ifeq ($(strip $(SHARED_LIBRARIES)),YES) +CFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES) +CXXFLAGS += $($(ANSI)_SHRLIB_CFLAGS_YES) + PROD_VERSION =$(SHRLIB_VERSION) ifeq ($(findstring cc,$(suffix $(LIBSRCS))),cc) SHRLIB_LINKER = $(CXX) @@ -335,8 +331,11 @@ endif # LIBRARY all:: install -build:: $(LIBTARGETS) $(PROD) $(TESTPROD) \ - $(MENUS) $(RECTYPES) $(BPTS) $(DBDNAME) +build:: $(LIBTARGETS) $(PROD) $(TESTPROD) $(INSTALLS) \ + $(MENUS) $(RECTYPES) $(BPTS) +ifdef DBDEXPAND +build:: $(DBDNAME) +endif inc:: $(INSTALL_INC) $(INSTALL_OSINC) @@ -357,7 +356,11 @@ buildInstall :: build $(TARGETS) \ clean:: @echo "Cleaning" - @$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) *$(RES) $(TARGETS) + @$(RM) *.i *$(OBJ) *.a $(PROD) $(TESTPROD) $(LIBNAME) $(SHRLIBNAME) $(INC) \ + *$(RES) $(TARGETS) $(DBDINSTALL) $(MENUS) $(RECTYPES) $(BPTS) +ifdef DBDEXPAND + @$(RM) $(DBDNAME) +endif #--------------------------------------------------------------- # Products @@ -368,7 +371,6 @@ ifdef PROD COND_PROD_SRCS=$(foreach prod, $(basename $(PROD)), $($(prod)_SRCS)) COND_PROD_RCS=$(foreach prod, $(basename $(PROD)), $($(prod)_RCS) $($(prod)_RCS_$(ARCH_CLASS))) -COND_PROD_LIBS=$(foreach prod, $(basename $(PROD)), $($(prod)_LIBS)) ifdef PRODNAME @@ -427,7 +429,7 @@ PROD_MAKE_COMMAND=$(MAKE) $@\ PRODNAME_RCS_$(ARCH_CLASS)="$($(basename $@)_RCS_$(ARCH_CLASS))"\ PRODNAME_LIBS="$($(basename $@)_LIBS)" -$(PROD): $(PROD_OBJS) $(PROD_RESS) $(PROD_DEPLIBS) $(COND_PROD_DEPLIBS) +$(PROD): $(SRCS) $(COND_PROD_SRCS) $(PROD_RESS) $(PROD_DEPLIBS) $(COND_PROD_DEPLIBS) @$(PROD_MAKE_COMMAND) endif @@ -439,8 +441,10 @@ endif #ifdef PROD # Java classes and packages # -INSTALL_JAVA = $(INSTALL_LOCATION)/javalib -DIRECTORY_TARGETS += $(INSTALL_JAVA) $(INSTALL_JAVA)/$(PACKAGE) +DIRECTORY_TARGETS += $(INSTALL_JAVA) +ifdef PACKAGE +DIRECTORY_TARGETS += $(INSTALL_JAVA)/$(PACKAGE) +endif vpath %.class $(INSTALL_JAVA)/$(PACKAGE) @@ -502,7 +506,6 @@ $(INSTALL_JAVA)/%.jar: %.jar depends:: $(LIBSRCS) $(SRCS) $(COND_PROD_SRCS) $(RM) DEPENDS - touch DEPENDS $(DEPENDS_RULE) %$(EXE): %.c @@ -572,7 +575,7 @@ endif ln -s $< $*.st $(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.st @$(RM) $*.st - + # Capfast Rules: %.db: %.edf $(E2DB) $(E2DB_SYSFLAGS) $(E2DB_FLAGS) $< @@ -632,10 +635,12 @@ bpt%.dbd: ../bpt%.data $(RM) $@ $(EPICS_BASE)/bin/$(HOST_ARCH)/makeBpt$(EXE) $< +ifdef DBDEXPAND $(DBDNAME): ../$(DBDEXPAND) - @echo expanding dbd + @echo Expanding dbd @$(RM) $@ $(EPICS_BASE)/bin/$(HOST_ARCH)/dbExpand$(EXE) $(USER_DBDFLAGS) $< > $@ +endif $(DLL_LINK_LIBNAME) $(SHRLIBNAME): $(LIBOBJS) $(LINK.shrlib) $(LIBOBJS) $(DLL_LDLIBS) @@ -662,14 +667,14 @@ $(INSTALL_BIN)/%: ../% $(INSTALL_LIB)/%.a: %.a @echo "Installing library $@" - @$(INSTALL) -d -m 644 $< $(INSTALL_LIB) + @$(INSTALL_LIBRARY) -d -m 644 $< $(INSTALL_LIB) ifdef RANLIB $(RANLIB) $(RANLIBFLAGS) $@ endif # RANLIB $(INSTALL_LIB)/%.lib: %.lib @echo "Installing library $@" - @$(INSTALL) -d -m 644 $< $(INSTALL_LIB) + @$(INSTALL_LIBRARY) -d -m 644 $< $(INSTALL_LIB) $(INSTALL_SHRLIB)/lib%: lib% @echo "Installing library $@" diff --git a/config/RULES.Vx b/config/RULES.Vx index 2cae7097f..a8019a0a0 100644 --- a/config/RULES.Vx +++ b/config/RULES.Vx @@ -69,7 +69,6 @@ endif depends:: $(SRCS.c) $(SRCS.cc) $(RM) DEPENDS - touch DEPENDS $(DEPENDS_RULE) clean:: @@ -82,11 +81,11 @@ clean:: %: %.o $(RM) $@ - $(LINK.c)$@ $< $(LDLIBS) + $(LINK.c) $@ $< $(LDLIBS) #$(PROD): $(OBJS) # $(RM) $@ -# $(LINK.c)$@ $(OBJS) +# $(LINK.c) $@ $(OBJS) %.o: %.c $(RM) $@ @@ -137,7 +136,7 @@ endif %.c: ../%.st @echo "preprocessing $*.st" @$(RM) $*.i - $(CPP) $(CPPFLAGS) $< $*.i + $(CPP) $(CPPFLAGS) $(CPPSNCFLAGS) $< $*.i @echo "converting $*.i" @$(RM) $@ $(SNC) $(TARGET_SNCFLAGS) $(SNCFLAGS) $*.i @@ -177,7 +176,6 @@ binInstalls: $(BIN_INSTALLS) $(INSTALL) -d -m 555 $^ $(INSTALL_BIN) $(INSTALL_DBD)/%: % - @echo "Installing $@" @echo "Installing $@" @$(INSTALL) -d -m 644 $< $(INSTALL_DBD) diff --git a/config/RULES_TOP b/config/RULES_TOP index 51aedb64d..8ba72c4ff 100644 --- a/config/RULES_TOP +++ b/config/RULES_TOP @@ -4,11 +4,21 @@ include $(TOP)/config/RULES_DIRS -uninstall$(DIVIDER)%:: +$(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS)):: @$(RMDIR) rec.bak rec @$(RMDIR) $(INSTALL_LOCATION_BIN)/$* $(INSTALL_LOCATION_LIB)/$* \ - $(INSTALL_DBD) $(INSTALL_MAN) $(INSTALL_INCLUDE) \ + $(INSTALL_DBD) $(INSTALL_MAN) $(INSTALL_INCLUDE) $(INSTALL_DOC)\ $(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES) + @$(MAKE) -f Makefile cleandirs + +cleandirs: +ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),) + @$(RMDIR) $(INSTALL_LOCATION_BIN) +endif +ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),) + @$(RMDIR) $(INSTALL_LOCATION_LIB) +endif + uninstall:: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS)) @@ -46,6 +56,8 @@ help: @echo "Indiv. object targets are supported by O. level Makefile .e.g" @echo " xxxRecord.o" -.PHONY :: uninstall tar help -.PHONY :: $(addprefix uninstall$(DIVIDER), $(BUILDARCHS)) +.PHONY :: uninstall tar help cleandirs +.PHONY :: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS)) + +