CC := gcc CXX := g++ # General setup GNU Makefile for EROS. To be included in all makefiles. # Define makefile variables according to CPU # MACHEROSD = `uname | sed 's/-//'` i.e. { AIX HPUX OSF1 ULTRIX } # # Makefile variables set are: # - Path to Exec, Include, Libs, Obj directories (from EROSBASEREP env. var.) # i.e. variables LIB, OBJ, EXE, INC #--------------------------------------------------------------------------- # define MACHEROS from uname MACHEROS := $(shell echo `uname`) # define the -D option MACHEROSD := $(shell echo `uname | sed 's/-//'`) #- #- Optimization option different for HP... ifeq (${MACHEROS},HP-UX) O := +O else O := -O endif #- #- Define Makefile paths #- PP := ${EROSBASEREP}/${MACHEROS}/ LIB := ${PP}/Libs/ SLB := ${PP}/ShLibs/ OBJ := ${PP}/Objs/ EXE := ${PP}/Exec/ INC := ${EROSBASEREP}/Include/ CCI := ${INC}/CInc/ CXI := ${INC}/CxxInc/ GLB := ${GNU}/${MACHEROS}/lib/ #-- #- #- Define default compilation flags #-- ifeq (${MACHEROS},HP-UX) CFLAGS := -Aa FFLAGS := -Aa -I${INC} -D${MACHEROSD} CPPFLAGS := -I${INC} -D${MACHEROSD} \ -D_INCLUDE_POSIX_SOURCE -D_INCLUDE_XOPEN_SOURCE else FFLAGS := -I${INC} -D${MACHEROSD} CPPFLAGS := -I${INC} -D${MACHEROSD} endif AR := ar ARFLAGS := -rcs ifeq ($(CC), gcc) CFLAGS := -g -O -Wall -Wpointer-arith \ -Wmissing-prototypes -Wsynth -I$(INC) //CXXFLAGS := $(CFLAGS) -fno-implicit-templates -I$(CXI) CXXFLAGS := $(CFLAGS) -I$(CXI) endif #- redefine implicit rule. Les .o sont dans $(OBJ). $(OBJ)%.o:%.c $(COMPILE.c) -o $@ $< $(OBJ)%.o:%.cc $(COMPILE.cc) -o $@ $< $(OBJ)%.o:%.f $(COMPILE.f) -o $@ $< #OSF1 #LDFC est f77 #LDFCFLAGS est rien #parfois #LDFC est cc #LDFCFLAGS est -ltruc #------------------------------------------------- End of Makefile.h ------- all : piup.so clean: rm -f piup.o piup.so piup.so : piup.o \ $(SLB)libpeida.so $(SLB)liberosc.so ld -shared -o piup.so -all piup.o \ -none -L$(SLB) -lPI -lpeida -lerosc -L$(GLB) -lg++ -lstdc++ -lm -lc # -none -L$(SLB) -lPI -lOuIm -lerosc -lStarReco \ # -L$(GLB) -lg++ -lstdc++ -lm -lc piup.o: piup.cc piup.h \ $(INC)perrors.h \ $(INC)exceptions.h \ $(INC)defs.h \ $(INC)fitsimage.h \ $(INC)cimage.h \ $(INC)rzimage.h \ $(INC)rzvect.h \ $(INC)machine.h \ $(INC)datatypes.h \ $(INC)fitsheader.h \ $(INC)fitskeys.h \ $(INC)utils.h $(INC)peida.h