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/ #-- #- #- 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 : piapp piapp : $(EXE)piapp $(SLB)piup.so user.so $(EXE)piapp : $(OBJ)pidemo.o $(SLB)libPI.so $(SLB)libOuIm.so \ $(SLB)liberosc.so $(SLB)libStarReco.so cc -call_shared -o $(EXE)piapp $(OBJ)pidemo.o \ -L$(SLB) -lPI -lOuIm -lerosc -lStarReco \ -lgcxx -lXm -lXt -lX11 -lm $(SLB)piup.so : $(OBJ)piup_def.o \ $(SLB)libOuIm.so $(SLB)liberosc.so ld -shared -o $(SLB)piup.so -all $(OBJ)piup_def.o \ -none -L$(SLB) -lOuIm -lerosc -lgcxx -lm -lc user.so : $(OBJ)piup.o \ $(SLB)libOuIm.so $(SLB)liberosc.so ld -shared -o user.so -all $(OBJ)piup.o \ -none -L$(SLB) -lOuIm -lerosc -lgcxx -lm -lc $(OBJ)pidemo.o: ./pidemo.cc \ $(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 pidemo.h \ pisysdep.h piapplx.h piapplgen.h pimsghandler.h picontainerx.h \ picontainergen.h piwdgx.h piwdggen.h pimenubarx.h pimenubargen.h \ pimenux.h pimenugen.h piwindowx.h piwindowgen.h pioptmenux.h \ pioptmenugen.h pistdwdgx.h pistdwdggen.h pifilechox.h pifilechogen.h \ piimage.h $(INC)lut.h \ pipixmapx.h pipixmapgen.h pibwdgx.h pibwdggen.h picmap.h picmapx.h \ picmapgen.h pihisto.h piscdrawwdg.h \ $(INC)histos.h \ $(INC)peida.h \ $(INC)utils.h pidrawwin.h \ $(INC)piup.h $(OBJ)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 $(OBJ)piup_def.o: piup_def.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