| [16] | 1 | CC := gcc
|
|---|
| 2 | CXX := g++
|
|---|
| 3 | # General setup GNU Makefile for EROS. To be included in all makefiles.
|
|---|
| 4 | # Define makefile variables according to CPU
|
|---|
| 5 | # MACHEROSD = `uname | sed 's/-//'` i.e. { AIX HPUX OSF1 ULTRIX }
|
|---|
| 6 | #
|
|---|
| 7 | # Makefile variables set are:
|
|---|
| [24] | 8 | # - Path to Exec, Include, Libs, Obj directories (from EROSBASEREP env. var.)
|
|---|
| [16] | 9 | # i.e. variables LIB, OBJ, EXE, INC
|
|---|
| 10 | #---------------------------------------------------------------------------
|
|---|
| 11 |
|
|---|
| 12 | # define MACHEROS from uname
|
|---|
| 13 | MACHEROS := $(shell echo `uname`)
|
|---|
| 14 | # define the -D option
|
|---|
| 15 | MACHEROSD := $(shell echo `uname | sed 's/-//'`)
|
|---|
| 16 |
|
|---|
| 17 | #-
|
|---|
| 18 | #- Optimization option different for HP...
|
|---|
| 19 | ifeq (${MACHEROS},HP-UX)
|
|---|
| 20 | O := +O
|
|---|
| 21 | else
|
|---|
| 22 | O := -O
|
|---|
| 23 | endif
|
|---|
| 24 | #-
|
|---|
| 25 | #- Define Makefile paths
|
|---|
| 26 | #-
|
|---|
| 27 | PP := ${EROSBASEREP}/${MACHEROS}/
|
|---|
| 28 | LIB := ${PP}/Libs/
|
|---|
| 29 | SLB := ${PP}/ShLibs/
|
|---|
| 30 | OBJ := ${PP}/Objs/
|
|---|
| 31 | EXE := ${PP}/Exec/
|
|---|
| 32 | INC := ${EROSBASEREP}/Include/
|
|---|
| 33 | CCI := ${INC}/CInc/
|
|---|
| 34 | CXI := ${INC}/CxxInc/
|
|---|
| [24] | 35 | GLB := ${GNU}/${MACHEROS}/lib/
|
|---|
| [16] | 36 | #--
|
|---|
| 37 |
|
|---|
| 38 | #-
|
|---|
| 39 | #- Define default compilation flags
|
|---|
| 40 | #--
|
|---|
| 41 | ifeq (${MACHEROS},HP-UX)
|
|---|
| 42 | CFLAGS := -Aa
|
|---|
| 43 | FFLAGS := -Aa -I${INC} -D${MACHEROSD}
|
|---|
| 44 | CPPFLAGS := -I${INC} -D${MACHEROSD} \
|
|---|
| 45 | -D_INCLUDE_POSIX_SOURCE -D_INCLUDE_XOPEN_SOURCE
|
|---|
| 46 | else
|
|---|
| 47 | FFLAGS := -I${INC} -D${MACHEROSD}
|
|---|
| 48 | CPPFLAGS := -I${INC} -D${MACHEROSD}
|
|---|
| 49 | endif
|
|---|
| 50 | AR := ar
|
|---|
| 51 | ARFLAGS := -rcs
|
|---|
| 52 |
|
|---|
| 53 | ifeq ($(CC), gcc)
|
|---|
| 54 | CFLAGS := -g -O -Wall -Wpointer-arith \
|
|---|
| 55 | -Wmissing-prototypes -Wsynth -I$(INC)
|
|---|
| 56 | //CXXFLAGS := $(CFLAGS) -fno-implicit-templates -I$(CXI)
|
|---|
| 57 | CXXFLAGS := $(CFLAGS) -I$(CXI)
|
|---|
| 58 | endif
|
|---|
| 59 |
|
|---|
| 60 | #- redefine implicit rule. Les .o sont dans $(OBJ).
|
|---|
| 61 | $(OBJ)%.o:%.c
|
|---|
| 62 | $(COMPILE.c) -o $@ $<
|
|---|
| 63 |
|
|---|
| 64 | $(OBJ)%.o:%.cc
|
|---|
| 65 | $(COMPILE.cc) -o $@ $<
|
|---|
| 66 |
|
|---|
| 67 | $(OBJ)%.o:%.f
|
|---|
| 68 | $(COMPILE.f) -o $@ $<
|
|---|
| 69 |
|
|---|
| 70 | #OSF1
|
|---|
| 71 | #LDFC est f77
|
|---|
| 72 | #LDFCFLAGS est rien
|
|---|
| 73 |
|
|---|
| 74 | #parfois
|
|---|
| 75 | #LDFC est cc
|
|---|
| 76 | #LDFCFLAGS est -ltruc
|
|---|
| 77 |
|
|---|
| 78 | #------------------------------------------------- End of Makefile.h -------
|
|---|
| [24] | 79 | all : piup.so
|
|---|
| [16] | 80 |
|
|---|
| [24] | 81 | clean:
|
|---|
| 82 | rm -f piup.o piup.so
|
|---|
| [16] | 83 |
|
|---|
| [18] | 84 |
|
|---|
| [24] | 85 | piup.so : piup.o \
|
|---|
| 86 | $(SLB)libpeida.so $(SLB)liberosc.so
|
|---|
| 87 | ld -shared -o piup.so -all piup.o \
|
|---|
| 88 | -none -L$(SLB) -lPI -lpeida -lerosc -L$(GLB) -lg++ -lstdc++ -lm -lc
|
|---|
| [16] | 89 |
|
|---|
| [24] | 90 | # -none -L$(SLB) -lPI -lOuIm -lerosc -lStarReco \
|
|---|
| 91 | # -L$(GLB) -lg++ -lstdc++ -lm -lc
|
|---|
| [16] | 92 |
|
|---|
| [24] | 93 |
|
|---|
| 94 | piup.o: piup.cc piup.h \
|
|---|
| [16] | 95 | $(INC)perrors.h \
|
|---|
| 96 | $(INC)exceptions.h \
|
|---|
| 97 | $(INC)defs.h \
|
|---|
| 98 | $(INC)fitsimage.h \
|
|---|
| 99 | $(INC)cimage.h \
|
|---|
| 100 | $(INC)rzimage.h \
|
|---|
| 101 | $(INC)rzvect.h \
|
|---|
| 102 | $(INC)machine.h \
|
|---|
| 103 | $(INC)datatypes.h \
|
|---|
| 104 | $(INC)fitsheader.h \
|
|---|
| 105 | $(INC)fitskeys.h \
|
|---|
| 106 | $(INC)utils.h $(INC)peida.h
|
|---|
| 107 |
|
|---|