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:
|
---|
8 | # - Path to Exec, Include, Libs, Obj directories (from EROSBASEREP env. var.)
|
---|
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/
|
---|
35 | GLB := ${GNU}/${MACHEROS}/lib/
|
---|
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 -------
|
---|
79 | all : piup.so
|
---|
80 |
|
---|
81 | clean:
|
---|
82 | rm -f piup.o piup.so
|
---|
83 |
|
---|
84 |
|
---|
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
|
---|
89 |
|
---|
90 | # -none -L$(SLB) -lPI -lOuIm -lerosc -lStarReco \
|
---|
91 | # -L$(GLB) -lg++ -lstdc++ -lm -lc
|
---|
92 |
|
---|
93 |
|
---|
94 | piup.o: piup.cc piup.h \
|
---|
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 |
|
---|