--- chewbacca/event/Makefile 2008/09/23 07:57:55 1.2 +++ chewbacca/event/Makefile 2009/07/29 16:13:14 1.14 @@ -1,6 +1,6 @@ #***************************************************************************** # -# FILE NAME: $Id: Makefile,v 1.1.1.1 2008/09/23 07:19:54 mocchiut Exp $ +# FILE NAME: $Id: Makefile,v 1.13 2009/07/29 15:47:21 mocchiut Exp $ # VERSION: # AUTHOR: Nergal S.r.l. # DATE: @@ -15,7 +15,9 @@ #------------------------------------------------------------------------------ +ifneq ($(MAKECMDGOALS),distclean) include $(BASEDIR)/event/Make.def +endif #------------------------------------------------------------------------------ CFLAGS += -I $(EVNT_DIR_INC) -I $(ROOT_DIR_INC) -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -DPIC @@ -84,52 +86,76 @@ #------------------------------------------------------------------------------ -all: dynamic static +all: dynamic +#static dynamic: libyoda.so.0.0.0 +ifeq ($(verbose),) + @ln -sf libyoda.so.0.0.0 libyoda.so.0 ;\ + ln -sf libyoda.so.0.0.0 libyoda.so +else ln -sf libyoda.so.0.0.0 libyoda.so.0 ;\ ln -sf libyoda.so.0.0.0 libyoda.so - +endif static: libyoda.a libyoda.so.0.0.0: $(TARGETLIB) $(EXTLIB) +ifeq ($(verbose),) + @$(CXX) \ + $(PAM_BIT) -o $@ \ + -shared \ + -Wl,-soname \ + -Wl,libyoda.so.0 \ + -Wl,--whole-archive \ + $^ \ + -Wl,--no-whole-archive +else $(CXX) \ $(PAM_BIT) -o $@ \ - -shared -nostdlib \ + -shared \ -Wl,-soname \ -Wl,libyoda.so.0 \ - /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crti.o \ - /usr/lib/gcc/i386-redhat-linux/3.4.6/crtbeginS.o \ - /usr/lib/gcc/i386-redhat-linux/3.4.6/crtendS.o \ - /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crtn.o \ -Wl,--whole-archive \ $^ \ -Wl,--no-whole-archive - +endif libyoda.a: $(TARGETLIB) $(EXTLIB) +ifeq ($(verbose),) + @cd $(OBJDIR) &>/dev/null ; \ + for sub_lib in $(TARGETLIB) $(EXTLIB) ; do \ + $(AR) -x $$sub_lib ; \ + done ;\ + $(AR) -scrv libyoda.a *.o &>/dev/null +else cd $(OBJDIR) ; \ pwd ;\ for sub_lib in $(TARGETLIB) $(EXTLIB) ; do \ $(AR) -x $$sub_lib ; \ done ;\ - $(AR) -scrv libyoda.a *.o \ - /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crti.o \ - /usr/lib/gcc/i386-redhat-linux/3.4.6/crtbeginS.o \ - /usr/lib/gcc/i386-redhat-linux/3.4.6/crtendS.o \ - /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crtn.o -# $(AR) -scrv libyoda.a *.o - + $(AR) -scrv libyoda.a *.o +endif $(TARGETLIB) : ${OBJS} +ifeq ($(verbose),) + @$(AR) -scrv $@ $? &>/dev/null +else $(AR) -scrv $@ $? +endif $(EXTLIB): $(EXTDIR) +ifeq ($(verbose),) + @for sub_dir in $(EXTDIR) ; do \ + (${EGREEN} "Make all in $$sub_dir "; ${RESET});\ + $(MAKE) -s -C $$sub_dir libs ; \ + done +else for sub_dir in $(EXTDIR) ; do \ $(MAKE) -C $$sub_dir libs ; \ done +endif SUBPACKET_HEADER_FILES = \ @@ -200,27 +226,50 @@ LinkDef.h $(ROOTEVENTDICT).cpp: ${DICT_HEADER_FILES} +ifeq ($(verbose),) + @LD_LIBRARY_PATH=$(ROOT_LIB):$(LD_LIBRARY_PATH); $(ROOTCINT) -f $@ -c ${INCLUDES} $^ +else echo $(ROOTCINT) -f $@ -c ${INCLUDES} $^ ;\ - LD_LIBRARY_PATH=$(ROOT_LIB) $(ROOTCINT) -f $@ -c ${INCLUDES} $^ + LD_LIBRARY_PATH=$(ROOT_LIB):$(LD_LIBRARY_PATH); $(ROOTCINT) -f $@ -c ${INCLUDES} $^ +endif clean: clean-subdir +ifeq ($(verbose),) + @rm -f $(TARGETLIB) ${OBJS} $(OBJDIR)/.*.d libyoda* +else rm -f $(TARGETLIB) ${OBJS} $(OBJDIR)/.*.d libyoda* +endif clean-subdir: $(EXTDIR) +ifeq ($(verbose),) + @for sub_dir in $(EXTDIR) ; do \ + $(MAKE) -s -C $$sub_dir clean ; \ + done +else for sub_dir in $(EXTDIR) ; do \ $(MAKE) -C $$sub_dir clean ; \ done +endif distclean: distclean-sub distclean-subdir clean +ifeq ($(verbose),) + @rm -f $(ROOTEVENTDICT).{cpp,h} +else rm -f $(ROOTEVENTDICT).{cpp,h} +endif distclean-subdir: +ifeq ($(verbose),) + @for sub_dir in $(EXTDIR) ; do \ + $(MAKE) -s -C $$sub_dir distclean-sub ; \ + done +else for sub_dir in $(EXTDIR) ; do \ $(MAKE) -C $$sub_dir distclean-sub ; \ done +endif - --include $(DEPEND) +#-include $(DEPEND) #------------------------------------------------------------------------------