From de6c7cfd940619c58810e1c9fe0065858662bbc7 Mon Sep 17 00:00:00 2001 From: alibrary Date: Thu, 16 Jun 2005 11:40:47 +0000 Subject: [PATCH] Streamline libs and check for deleted files --- Makefile | 18 ++++++++++++------ build/Makefile.alphacxx6 | 4 +--- build/Makefile.config | 10 ---------- build/Makefile.hpuxacc | 5 +---- build/Makefile.linux | 5 +---- build/Makefile.linuxia64ecc | 8 ++------ build/Makefile.linuxia64gcc | 5 +---- build/Makefile.linuxicc | 8 ++------ build/Makefile.linuxx8664gcc | 6 ++---- build/Makefile.macosx | 15 ++++++++------- build/Makefile.macosxxlc | 5 ++--- build/Makefile.solarisCC5 | 6 ++++-- build/header.tpl | 1 + build/module.tpl | 22 +++++++++++++++++----- 14 files changed, 54 insertions(+), 64 deletions(-) delete mode 100644 build/Makefile.config diff --git a/Makefile b/Makefile index 111f487ce0e..6e9185d68ae 100644 --- a/Makefile +++ b/Makefile @@ -23,11 +23,6 @@ export CLASSPATH IRST_INSTALLDIR IRST_CONFIG_DIR CODE_CHECK=java rules.ALICE.ALICERuleChecker REV_ENG=$(IRST_INSTALLDIR)/scripts/revEng.sh -#------------------------------------------------------------------------------- -# Include library definition - -include build/Makefile.config - #------------------------------------------------------------------------------- # Include machine dependent macros @@ -117,8 +112,17 @@ DEPINC += $(GENINC) #------------------------------------------------------------------------------- # Libraries to link binaries against # Libraries will be linked against SHLIB +# ROOT libraries + +ROOTCLIBS := $(shell root-config --glibs) -lThread -lMinuit -lHtml -lVMC -lGeom -LIBS := $(GLIBS) $(ROOTLIBS) $(SYSLIBS) +ROOTPLIBS := -lEG -lEGPythia6 + +ALILIBS := -L$(LIBDIR) -lMUON -lTPC -lPMD -lTRD -lFMD -lTOF \ + -lITS -lPHOS -lCRT -lRICH -lVZERO -lZDC -lSTRUCT \ + -lSTART -lEVGEN -lSTEER -lCONTAINERS + +LIBS := $(ROOTCLIBS) $(ROOTPLIBS) $(SYSLIBS) #------------------------------------------------------------------------------- # default target @@ -126,6 +130,8 @@ LIBS := $(GLIBS) $(ROOTLIBS) $(SYSLIBS) default: $(MUTE)$(MAKE) aliroot +FORCE: + #------------------------------------------------------------------------------- # Each module will add to these macros diff --git a/build/Makefile.alphacxx6 b/build/Makefile.alphacxx6 index b5c399cf5ca..9c03828da09 100644 --- a/build/Makefile.alphacxx6 +++ b/build/Makefile.alphacxx6 @@ -42,15 +42,13 @@ SHLIB = -lUfor -lfor -lFutil SOEXT = so #System libraries -SYSLIBS = -lbsd # Flags for static libraries AFLAGS = $(filter-out -rpath /usr/lib/cmplrs/cxx -msym -shared /usr/lib/cmplrs/cc/crt0.o,$(SOFLAGS)) AFLAGS += $(SHLIB) # Additional flags and libraries for building aliroot executable -EXEFLAGS += -lXm -lXt -lX11 -lPW -lUfor -lfor -lFutil -lots -EXEFLAGS += -taso +SYSLIBS := -lXm -lXt -lX11 -lPW -lUfor -lfor -lFutil -lots -taso -lbsd # Cure funny problem # sometimes in dependencies system include files of the sort diff --git a/build/Makefile.config b/build/Makefile.config deleted file mode 100644 index 5b3167ac8a0..00000000000 --- a/build/Makefile.config +++ /dev/null @@ -1,10 +0,0 @@ -# ROOT libraries -ROOTLIBS := $(shell root-config --glibs) -lThread -lMinuit -lHtml -lEG -lEGPythia6 -lVMC -lGeom \ - -L/usr/X11R6/lib -lX11 - -# Additional flags for building aliroot executable -EXEFLAGS = - -ALILIBS = -L$(LIBDIR) -lMUON -lTPC -lPMD -lTRD -lFMD -lTOF \ - -lITS -lPHOS -lCRT -lRICH -lVZERO -lZDC -lSTRUCT \ - -lSTART -lEVGEN -lSTEER -lCONTAINERS diff --git a/build/Makefile.hpuxacc b/build/Makefile.hpuxacc index 4da3286014a..5d59e82c55c 100644 --- a/build/Makefile.hpuxacc +++ b/build/Makefile.hpuxacc @@ -39,11 +39,8 @@ SOFLAGS = -b /usr/lib/libm.sl SOEXT = sl # additional ROOT libraries -ROOTLIBS += -lcrypt +SYSLIBS := -lcrypt -L/usr/lib/X11R6 -lX11 -GLIBS = -L/usr/lib/X11R6 -lX11 - -# System libraries diff --git a/build/Makefile.linux b/build/Makefile.linux index 2bc9dc1ccb2..f8876c797e8 100644 --- a/build/Makefile.linux +++ b/build/Makefile.linux @@ -52,15 +52,12 @@ ALLIB = AEXT = a # additional ROOT libraries -ROOTLIBS += -lcrypt LIBNOVER = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'` -GLIBS = -L/usr/X11R6/lib -lX11 $(LIBNOVER) #System libraries -SYSLIBS = -ldl +SYSLIBS := -ldl -lg2c -lcrypt -L/usr/X11R6/lib -lX11 $(LIBNOVER) -EXEFLAGS+= -lg2c diff --git a/build/Makefile.linuxia64ecc b/build/Makefile.linuxia64ecc index 355ad3e4aa0..d66e339d369 100644 --- a/build/Makefile.linuxia64ecc +++ b/build/Makefile.linuxia64ecc @@ -45,12 +45,8 @@ ALLIB = AEXT = a # additional ROOT libraries -ROOTLIBS += -lcrypt LIBNOVER = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'` -GLIBS = $(LIBNOVER) -#System libraries -SYSLIBS = - -EXEFLAGS+= -L/usr/local/lib -lXt -lCEPCF90 -lF90 -lPEPCF90 -lintrins +SYSLIBS := $(LIBNOVER) -lcrypt -L/usr/local/lib -lXt -lCEPCF90 -lF90 \ + -lPEPCF90 -lintrins -L/usr/X11R6/lib -lX11 \ No newline at end of file diff --git a/build/Makefile.linuxia64gcc b/build/Makefile.linuxia64gcc index 0cf212ded8a..aff5c8026ec 100644 --- a/build/Makefile.linuxia64gcc +++ b/build/Makefile.linuxia64gcc @@ -44,15 +44,12 @@ ALLIB = AEXT = a # additional ROOT libraries -ROOTLIBS += -lcrypt LIBNOVER = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'` -GLIBS = -L/usr/X11R6/lib -lX11 $(LIBNOVER) #System libraries -SYSLIBS = -ldl -lbsd +SYSLIBS := -ldl -lbsd -lg2c -L/usr/X11R6/lib -lX11 $(LIBNOVER) -EXEFLAGS+= -lg2c diff --git a/build/Makefile.linuxicc b/build/Makefile.linuxicc index 8efedf2635e..3bbf67d7569 100644 --- a/build/Makefile.linuxicc +++ b/build/Makefile.linuxicc @@ -52,14 +52,10 @@ ALLIB = AEXT = a # additional ROOT libraries -ROOTLIBS += -lcrypt LIBNOVER = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'` -GLIBS = $(LIBNOVER) #System libraries -SYSLIBS = - -EXEFLAGS += -L/usr/local/lib -lXt -EXEFLAGS += -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \ +SYSLIBS := -lcrypt -L/usr/X11R6/lib -lX11 $(LIBNOVER) -L/usr/local/lib \ + -lXt -L$(shell which ifort | sed -e 's|bin/ifort|lib|') -lifcore -lifport diff --git a/build/Makefile.linuxx8664gcc b/build/Makefile.linuxx8664gcc index ea8509db318..1a75a76cbb3 100644 --- a/build/Makefile.linuxx8664gcc +++ b/build/Makefile.linuxx8664gcc @@ -44,15 +44,13 @@ ALLIB = AEXT = a # additional ROOT libraries -ROOTLIBS += -lcrypt LIBNOVER = `find /lib64 -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib64/ -l/'` -GLIBS = -L/usr/X11R6/lib64 -lX11 $(LIBNOVER) #System libraries -SYSLIBS = -ldl +SYSLIBS := -ldl -lcrypt -L/usr/X11R6/lib64 -lX11 $(LIBNOVER) -EXEFLAGS+= -lg2c +EXEFLAGS := -lg2c diff --git a/build/Makefile.macosx b/build/Makefile.macosx index 5bd59174f42..ae0e5a10e07 100644 --- a/build/Makefile.macosx +++ b/build/Makefile.macosx @@ -29,6 +29,9 @@ CXXOPT = $(OPT) CXXNOOPT = $(NOOPT) COPT = $(OPT) FOPT = $(OPT) -fno-second-underscore +ifeq (g95,$(findstring g95,$(ROOTBUILD))) +FOPT += -fbounds-check +endif # CERNLIB defines CLIBDEFS = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC @@ -37,7 +40,7 @@ CLIBCOPT = CLIBFOPT = $(CLIBDEFS) # Compiler flags -CXXFLAGS = $(CXXOPT) -Wall -W -Wno-long-double -pipe -fsigned-char -fno-common -fmessage-length=0 -I$(FINK_ROOT)/include +CXXFLAGS = $(CXXOPT) -Wall -W -Wno-long-double -pipe -fbounds-check -fsigned-char -fno-common -fmessage-length=0 -I$(FINK_ROOT)/include #-Weffc++ -Woverloaded-virtual ifeq (g95,$(findstring g95,$(ROOTBUILD))) CXXFLAGS+=-DFORTRAN_G95 @@ -75,16 +78,14 @@ AEXT = a DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys -GLIBS = -L/usr/X11R6/lib -lX11 +SYSLIBS := -L/usr/X11R6/lib -lX11 -EXEFLAGS += -bind_at_load +EXEFLAGS := -bind_at_load #System libraries ifeq (g95,$(findstring g95,$(ROOTBUILD))) -SYSLIBS := -L$(dir $(shell find $(FINK_ROOT) -name libf95.a)) -lf95 +SYSLIBS += -L$(dir $(shell find $(FINK_ROOT) -name libf95.a)) -lf95 else -SYSLIBS := -ldl -L$(dir $(shell find $(FINK_ROOT) -name libgfortran.dylib)) -lgfortranbegin -lgfortran +SYSLIBS += -ldl -L$(dir $(shell find $(FINK_ROOT) -name libgfortran.dylib)) -lgfortranbegin -lgfortran endif - - diff --git a/build/Makefile.macosxxlc b/build/Makefile.macosxxlc index 825898d469f..68ecf4295ec 100644 --- a/build/Makefile.macosxxlc +++ b/build/Makefile.macosxxlc @@ -59,12 +59,11 @@ ALFLAGS = cr ALLIB = AEXT = a -GLIBS = -L/usr/X11R6/lib -lX11 #System libraries -SYSLIBS = -ldl +SYSLIBS := -ldl -L/usr/X11R6/lib -lX11 -EXEFLAGS+= -Wl,-bind_at_load +EXEFLAGS := -Wl,-bind_at_load diff --git a/build/Makefile.solarisCC5 b/build/Makefile.solarisCC5 index 797db7c6589..02dcc3a90b5 100644 --- a/build/Makefile.solarisCC5 +++ b/build/Makefile.solarisCC5 @@ -40,10 +40,12 @@ LDFLAGS = $(OPT) -Qoption ld -t SHLD = $(LD) SOFLAGS = -G $(LDFLAGS) $(SHLIB) -ROOTLIBS += -lm -ldl -lnsl -lsocket +SYSLIBS := -L/usr/dt/lib -L/usr/openwin/lib -L/usr/ccs/lib -lXm -lXt \ + -lX11 -lm -lgen -ldl -lsocket -lsunmath -lrtc -lnsl # Additional flags and libraries for building aliroot executable -EXEFLAGS += -O -Qoption ld -t -L/usr/dt/lib -L/usr/openwin/lib -L/usr/ccs/lib -lXm -lXt -lX11 -lm -lgen -ldl -lsocket -lsunmath -lrtc + +EXEFLAGS := -O -Qoption ld -t diff --git a/build/header.tpl b/build/header.tpl index c2dae5c0c43..b51c9ca4748 100644 --- a/build/header.tpl +++ b/build/header.tpl @@ -28,6 +28,7 @@ PACKCFLAGS:= PACKDYFLAGS:= PACKSOFLAGS:= PACKLDFLAGS:= +PACKBLIBS:= EXPORT:= EHDRS:= CINTHDRS:= diff --git a/build/module.tpl b/build/module.tpl index 4df3c786e70..97b8b7eefbf 100644 --- a/build/module.tpl +++ b/build/module.tpl @@ -45,6 +45,12 @@ else @PACKAGE@DCXXFLAGS:=$(PACKDCXXFLAGS) endif +ifndef PACKBLIBS +@PACKAGE@BLIBS:=$(LIBS) +else +@PACKAGE@BLIBS:=$(PACKBLIBS) +endif + ifdef DHDR WITHDICT=YES @@ -95,10 +101,8 @@ endif ############################################################################# # Package Dictionary - @PACKAGE@DH:=$(MODDIR)/$(DHDR) - #All objects @PACKAGE@CO:=$(patsubst %,$(MODDIRO)/%, $(CSRCS:.c=.o)) TEMP:=$(FSRCS:.F=.o) @@ -241,12 +245,12 @@ ifndef ALIQUIET @echo "***** Making executable $@ *****" endif ifeq ($(ALIPROFILE),YES) - $(MUTE)$(LD) $(@PACKAGE@LDFLAGS) $(@PACKAGE@O) $(ARLIBS) $(SHLIBS) $(LIBS) $(EXEFLAGS) -o $@ + $(MUTE)$(LD) $(@PACKAGE@LDFLAGS) $(@PACKAGE@O) $(ARLIBS) $(SHLIBS) $(@PACKAGE@BLIBS) $(EXEFLAGS) -o $@ else - $(MUTE)$(LD) $(@PACKAGE@LDFLAGS) $(@PACKAGE@O) $(@PACKAGE@DO) $(BINLIBDIRS) $(@PACKAGE@ELIBSDIR) $(@PACKAGE@ELIBS) $(LIBS) $(EXEFLAGS) -o $@ + $(MUTE)$(LD) $(@PACKAGE@LDFLAGS) $(@PACKAGE@O) $(@PACKAGE@DO) $(BINLIBDIRS) $(@PACKAGE@ELIBSDIR) $(@PACKAGE@ELIBS) $(@PACKAGE@BLIBS) $(EXEFLAGS) -o $@ endif -$(@PACKAGE@DS): $(@PACKAGE@CINTHDRS) $(@PACKAGE@DH) @MODULE@/module.mk +$(@PACKAGE@DS): $(@PACKAGE@CINTHDRS) $(@PACKAGE@DH) @MODULE@/module.mk @MODULE@/tgt_$(ALICE_TARGET)/@PACKAGE@_srcslist ifndef ALIQUIET @echo "***** Creating $@ *****"; endif @@ -260,6 +264,14 @@ ifndef ALIQUIET endif $(MUTE)$(CXX) $(@PACKAGE@DEFINE) -c $(@PACKAGE@INC) -I$(ALICE_ROOT) $< -o $@ $(@PACKAGE@DCXXFLAGS) +$(MODDIRO)/@PACKAGE@_srcslist: FORCE + @for i in $(@PACKAGE@CS) $(@PACKAGE@S); do echo $$i; done | sort > $@.new ;\ + diff $@ $@.new | sed -n -e "s?^\< *@MODULE@?@MODULE@/tgt_$(ALICE_TARGET)?p" | \ + sed -e "s?\.c.*\$$?.\*?" | xargs \rm -f ;\ + diff -q -w >/dev/null 2>&1 $@ $@.new ;\ + if [ $$? -ne 0 ]; then \mv $@.new $@; echo "***** Source changed, remaking $(@PACKAGE@DS) *****";\ + else \rm $@.new; fi + #Different targets for the module ifeq ($(TYPE),lib) -- 2.39.3