srcdir = @srcdir@ #VPATH = @srcdir@ INSTALL = @INSTALL@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ CXX=@CXX@ AR=@AR@ ARFLAGS=@ARFLAGS@ LIBS=@LIBS@ CXXFLAGS=-O -g CFLAGS=-O -g USE_SOPHYA=@use_sophya@ USE_PIOLIB=@use_piolib@ MACHEROS := $(shell echo `uname`) MACHDIR := $(MACHEROS)-$(CXX) ifeq ($(USE_SOPHYA),1) include $(DPCBASEREP)/Include/MakefileUser.h ifdef NOSHLIB LIBF = $(LIB)libSysTools.a $(LIB)libNTools.a $(LIB)libBlitz.a $(LIB)libFitsIOServer.a LIBS := -L$(LIB) -lSysTools -lNTools -lBlitz $(LIBS) ifeq ($(CXX),cxx) # librairie des instances de templates cxx LIBS := $(LIBS) -lrt endif else LIBF = $(SLB)libsophya.so LIBS := -L$(SLB) -lextsophya -lsophya $(LIBS) ifeq ($(MACHEROS),OSF1) LIBS := $(LIBS) -lfor endif endif CPPFLAGS := -DWITH_SOPHYA $(CPPFLAGS) else ifeq ($(CXX), cxx) CXXFLAGS := -O -g -D__USE_STD_IOSTREAM endif endif CPPFLAGS := $(CPPFLAGS) @cfitsincdir@ -I. -DANSI ifeq ($USE_PIOLIB,1) PIOLIBS := @piolibdir@ -lpiolib else PIOLIBS := endif LDLIBS=@cfitslibdir@ -lcfitsio $(PIOLIBS) $(LIBS) ifeq ($(MACHEROS),IRIX64) ifeq ($(CXX), g++) LDLIBS=@cfitslibdir@ -lcfitsio -L /usr/lib32/ endif ifeq ($(CXX), CC) CXXFLAGS = -O -prelink -64 # CXXFLAGS = -O -prelink -ptused -64 CFLAGS = -O -64 # CXXFLAGS = -LANG:std -woff 1171,1174,1552 -O -OPT:Olimit=0 # CFLAGS = -O -OPT:Olimit=0 endif endif ifeq ($(CXX), g++) CC = gcc endif default: build_kernel build_processors build_sophya echo "pipe libs built" install: default mkdir -p $(libdir) mkdir -p $(prefix)/include cp -p Kernel/libatkern.a $(libdir)/ cp -p Processors/libatproc.a $(libdir)/ for f in $(srcdir)/Kernel/*.h $(srcdir)/Processors/*.h $(srcdir)/*.h conf.h; do \ $(INSTALL) $$f $(prefix)/include; \ done if [ -f ProcWSophya/libatsop.a ]; then \ cp -p ProcWSophya/libatsop.a $(libdir)/; \ for f in $(srcdir)/ProcWSophya/*.h; do \ $(INSTALL) $$f $(prefix)/include; \ done \ fi clean: rm -f *.o rm -rf rii_files ii_files cxxrep cxx_repository for d in Kernel Processors ProcWSophya; do \ if [ -d $$d ]; then \ cd $$d; $(MAKE) clean; \ cd ..; \ fi \ done %: $(srcdir)/TestPipes/%.cc build_kernel build_processors build_sophya cd TestPipes; $(MAKE) $@ build_kernel: cd Kernel; $(MAKE) build_processors: cd Processors; $(MAKE) build_sophya: ifeq ($(USE_SOPHYA),1) if [ -d ProcWSophya ]; then \ cd ProcWSophya; $(MAKE); \ fi else echo "no sophya" endif ### Shared libs, repris de Sophya en attendant une integration ### plus propre a configure # librairie compilateur GNU (g++) LIBGPP := -lstdc++ ifeq ($(MACHEROS), Darwin) LIBGPP := -L/sw/lib -ldl -L/usr/lib/gcc/darwin/default -lstdc++ -lcc_dynamic endif # External libraries EXTLIB := EXTSLB := # Commande de construction de shared-lib CMDSHL := ld -partage # Flag d'inclusion/fin d'inclusion de tous les points d'entree FGSHLA := -tout FGSHLN := -rien # Librairies specifiques LIBLSHL := -lpthread -lm -lc # Librairie d'instanciation des templates TILSHL := TILSHLPI := # Commande de construction de la librairie d'instanciation des templates CMDTILSHL := echo 'No Template instanciation library (.a)' CMDTILSHLPI := echo 'No Template instanciation library (.a)' # Utilisation du compilo C++ comme driver pour fabrication des shared-libs CMDSHLCXX := $(LINK.cc) FGSHLACXX := FGSHLNCXX := # S'il faut utiliser $(CMDSHLCXX) pour fabrication des shared-libs USECXX4SO := Y # On utilise le compilo g++ pour la fabrication des shared libs ifeq ($(EROSCXX), g++) override USECXX4SO := Y override CMDSHLCXX := $(LINK.cc) -shared override LIBLSHL := $(LIBGPP) $(LIBLSHL) endif # On utilise le compilo KCC pour la fabrication des shared libs ifeq ($(EROSCXX), KCC) override USECXX4SO := Y override CMDSHLCXX := $(LINK.cc) endif # On utilise le compilo aCC (HP) pour la fabrication des shared libs ifeq ($(EROSCXX), aCC) override USECXX4SO := Y override CMDSHLCXX := $(LINK.cc) -b endif # Construction de shared-libs sous OSF1 ifeq ($(MACHEROS),OSF1) override CMDSHL := ld -shared -update_registry $(SLB)so_locations override FGSHLA := -all override FGSHLN := -none # override LIBLSHL := -lcxxstd -lcxx -lexc -lm -lc -lrt override LIBLSHL := $(LIBLSHL) -lrt override TILSHL := $(LIB)libertcxx.a override CMDTILSHL := rm -f $(LIB)libsotcxx.a ; cd $(REP); $(AR) $(ARFLAGS) $(LIB)libsotcxx.a *.o override TILSHLPI := $(LIB)libsotcxxpi.a override CMDTILSHLPI := rm -f $(LIB)libsotcxxpi.a ; cd $(REPPI); $(AR) $(ARFLAGS) $(LIB)libsotcxxpi.a *.o ifeq ($(CXX),g++) override TILSHL := override TILSHLPI := endif # Attention - Dangereux de mettre -expect_unresolved , enleve Reza 17/11/99 override CMDSHLCXX := $(CXX) $(CXXFLAGS) -shared override FGSHLACXX := override FGSHLNCXX := override USECXX4SO := Y endif # Construction de shared-libs sous Linux ifeq ($(MACHEROS),Linux) override CMDSHL := ld -shared override FGSHLA := --whole-archive override FGSHLN := --no-whole-archiv override CMDSHLCXX := $(LINK.cc) -shared ifeq ($(EROSCXX), KCC) override CMDSHLCXX := $(LINK.cc) endif override FGSHLACXX := override FGSHLNCXX := override LIBLSHL := $(LIBLSHL) -ldl override TILSHL := override LIBXPIPATH := -L/usr/X11/lib -L/usr/X11R6/lib override LIBXPILIST := -lXm -lXt -lXext -lX11 endif # Construction de shared-libs sous Sun-OS ifeq ($(MACHEROS),SunOS) override CMDSHL := ld -G override FGSHLA := -z allextract override FGSHLN := -z weakextract override TILSHL := override LIBXPIPATH := -L/usr/X11/lib override USECXX4SO := Y endif # Construction de shared-libs sous SGI ifeq ($(MACHEROS), IRIX64) override CMDSHL := ld -shared override FGSHLA := -all override FGSHLN := -notall override TILSHL := ifeq ($(EROSCXX), CC) override CMDSHLCXX := CC -shared -64 endif override LIBXPIPATH := -L/usr/X11/lib override USECXX4SO := Y endif # Construction de shared-libs sous OSX ifeq ($(MACHEROS), Darwin) override CMDSHL := libtool -dynamic override FGSHLA := override FGSHLN := override TILSHL := override CMDSHLCXX := libtool -dynamic endif SLBNAME = libpipe.so ifeq ($(MACHEROS),Darwin) SLBNAME = libpipe.dylib endif slb: $(SLBNAME) $(SLBNAME) : build_kernel build_processors build_sophya $(CMDSHLCXX) -o $(SLBNAME) \ Kernel/*.o Processors/*.o ProcWSophya/*.o \ $(FGSHLNCXX) -L$(SLB) -lsophya -lextsophya $(EXTLIB) $(LIBLSHL)