Makefile 3.96 KB
Newer Older
thomas.forbriger's avatar
thomas.forbriger committed
1
2
# this is <Makefile>
# ----------------------------------------------------------------------------
thomas.forbriger's avatar
thomas.forbriger committed
3
# $Id: Makefile,v 1.20 2009-11-20 07:41:38 tforb Exp $
thomas.forbriger's avatar
thomas.forbriger committed
4
5
6
7
8
9
10
# 
# Copyright (c) 2007 by Thomas Forbriger (BFO Schiltach) 
# 
# waveform plot programs
# 
# REVISIONS and CHANGES 
#    30/01/2007   V1.0   Thomas Forbriger
thomas.forbriger's avatar
thomas.forbriger committed
11
#    07/12/2007   V1.1   default Fortran compiler now is g77
12
#    17/12/2007   V1.2   moved to gfortran
thomas.forbriger's avatar
thomas.forbriger committed
13
14
# 
# ============================================================================
thomas.forbriger's avatar
thomas.forbriger committed
15
#
thomas.forbriger's avatar
thomas.forbriger committed
16
17
18
19
#  NOTICE: fallback solution (f2c is default) can be activated by the
#          environment variable TF_FALLBACK
#          This option will disappear somewhere in the future!

thomas.forbriger's avatar
thomas.forbriger committed
20
PROGRAMS=damplo pamo polplot splot stuplo susplo
thomas.forbriger's avatar
thomas.forbriger committed
21
22

F2CLIB=-lf2c -lm -L${SERVERLIBDIR}
thomas.forbriger's avatar
thomas.forbriger committed
23
G2CLIB=-lg2c -lf2c -lm -L${SERVERLIBDIR}
thomas.forbriger's avatar
thomas.forbriger committed
24
F2CFLAGS=-f -u
thomas.forbriger's avatar
thomas.forbriger committed
25
26
27
28
29
30
31
32
33
34

PGPLOTF2CLIB=-l$(TF_f2c_PGPLOT) $(TF_LINK_PGPLOT)
PGPLOT77LIB=-l$(TF_g77_PGPLOT) $(TF_LINK_PGPLOT)
ifeq ($(TF_FALLBACK),yes)
PGPLOTLIB=$(PGPLOTF2CLIB)
else
PGPLOTLIB=$(PGPLOT77LIB)
endif

FLAGS += $(MYFLAGS)
35
CFLAGS += -O2 $(FLAGS)
thomas.forbriger's avatar
thomas.forbriger committed
36

thomas.forbriger's avatar
thomas.forbriger committed
37
38
# use STATIC=-static to produce statically linked binaries
STATIC=
39
40
41
42
43
#CXXFLAGS += -fhonor-std -Wall $(FLAGS)
CXXFLAGS += -Wall $(FLAGS)
LDFLAGS += -L$(LOCLIBDIR) $(STATIC)
CPPFLAGS += -I$(LOCINCLUDEDIR) $(FLAGS)
FFLAGS += -ff2c -Wall -ffixed-line-length-0 -fno-backslash $(FLAGS)
thomas.forbriger's avatar
thomas.forbriger committed
44
45

DIRS=-L$(SERVERLIBDIR) -L$(LOCLIBDIR) -I$(SERVERINCLUDEDIR) -I$(LOCINCLUDEDIR)
thomas.forbriger's avatar
thomas.forbriger committed
46

thomas.forbriger's avatar
thomas.forbriger committed
47
all: $(PROGRAMS)
thomas.forbriger's avatar
thomas.forbriger committed
48
49
50
51
52
53
54
55
56
57
58
59
60

flist: Makefile $(wildcard *.f *.cc)
	echo $^ | tr ' ' '\n' | sort > $@

.PHONY: edit
edit: flist; vim $<

.PHONY: clean
clean: ; 
	-find . -name \*.bak | xargs --no-run-if-empty /bin/rm -v
	-/bin/rm -vf flist
	-/bin/rm *.o *.bak *.o77 

thomas.forbriger's avatar
thomas.forbriger committed
61
ifeq ($(TF_FALLBACK),yes)
thomas.forbriger's avatar
thomas.forbriger committed
62
%.o: %.f
thomas.forbriger's avatar
thomas.forbriger committed
63
64
65
66
67
	f2c $(F2CFLAGS) $<
	$(CC) $(CFLAGS) $(<:.f=.c) -c -I${SERVERINCLUDEDIR} -I$(LOCINCLUDEDIR)
	@rm  $(<:.f=.c)
%.o77: %.f
	$(FC) -o $@ -c $< $(OPTFLAGS) $(G77FLAGS)
thomas.forbriger's avatar
thomas.forbriger committed
68
69
70
else
%.f2c.o: %.f
	f2c $(F2CFLAGS) $<
thomas.forbriger's avatar
thomas.forbriger committed
71
72
	$(CC) $(CFLAGS) $(<:.f=.c) -c -o $@ \
        -I${SERVERINCLUDEDIR} -I$(LOCINCLUDEDIR)
thomas.forbriger's avatar
thomas.forbriger committed
73
74
	@rm  $(<:.f=.c)
%.o: %.f
75
	$(FC) -o $@ -c $< $(FFLAGS)
thomas.forbriger's avatar
thomas.forbriger committed
76
endif
thomas.forbriger's avatar
thomas.forbriger committed
77

thomas.forbriger's avatar
thomas.forbriger committed
78
ifeq ($(TF_FALLBACK),yes)
thomas.forbriger's avatar
thomas.forbriger committed
79
susplo: susplo.o
80
	$(CC) $^ -o $@ -ltf -lsff $(PGPLOTLIB) $(F2CLIB) -L$(LOCLIBDIR)
thomas.forbriger's avatar
thomas.forbriger committed
81
82
83
	newprog $@

splot: splot.o
84
85
	$(CC) splot.o -o splot -ltf -lsff \
        $(PGPLOTLIB) $(F2CLIB) -L$(LOCLIBDIR)
thomas.forbriger's avatar
thomas.forbriger committed
86
87
	newprog splot

thomas.forbriger's avatar
thomas.forbriger committed
88
pamo77 tesiff77: %77: %.o77
thomas.forbriger's avatar
pamo77    
thomas.forbriger committed
89
	$(FC) $< -o $@ -lsffu77 -ltime77 -lsff77 -ltf77 \
thomas.forbriger's avatar
thomas.forbriger committed
90
91
92
93
94
        $(PGPLOTLIB77) -L$(LOCLIBDIR) -L$(SERVERLIBDIR)

	newprog $@

pamo: pamo.o
thomas.forbriger's avatar
thomas.forbriger committed
95
	$(CC) pamo.o -o pamo -lsffu -ltime -lsff -ltf \
thomas.forbriger's avatar
thomas.forbriger committed
96
97
98
        $(PGPLOTLIB) $(F2CLIB) -L$(LOCLIBDIR)
	newprog pamo

thomas.forbriger's avatar
thomas.forbriger committed
99
100
101
102
103
stuplo77: stuplo.o77
	$(FC) $< -o $@ -lsff77 -ltf77 \
        $(PGPLOTLIB77) -L$(LOCLIBDIR) -L$(SERVERLIBDIR)
	newprog $@

thomas.forbriger's avatar
thomas.forbriger committed
104
105
106
107
108
stuplo77.static: stuplo.o77
	$(FC) $< -o $@ -lsff77 -ltf77 \
        $(PGPLOTLIB77) -ldl -L$(LOCLIBDIR) -L$(SERVERLIBDIR) -static
	newprog $@

thomas.forbriger's avatar
thomas.forbriger committed
109
stuplo: stuplo.o
110
	$(CC) stuplo.o -o stuplo -lsff -ltf \
thomas.forbriger's avatar
thomas.forbriger committed
111
        $(PGPLOTLIB) $(F2CLIB) -L$(LOCLIBDIR)
112
	newprog stuplo
thomas.forbriger's avatar
thomas.forbriger committed
113

thomas.forbriger's avatar
thomas.forbriger committed
114
115
116
117
118
stuplo.static: stuplo.o
	$(CC) stuplo.o -o stuplo -lsff -ltf \
        $(PGPLOTLIB) $(F2CLIB) -L$(LOCLIBDIR) -static
	newprog $@

thomas.forbriger's avatar
thomas.forbriger committed
119
120
121
122
damplo: damplo.o
	$(CC) damplo.o -o damplo -lsffu -ltime -lsff -ltf\
        $(PGPLOTLIB) $(F2CLIB) -L$(LOCLIBDIR)
	newprog damplo
thomas.forbriger's avatar
thomas.forbriger committed
123
124
125
126
127
128
129
else
stuplo splot susplo: %: %.o
	$(FC) $< -o $@ -ltf -lsff $(PGPLOTLIB) -L$(LOCLIBDIR)
	/bin/mv -fv $@ $(LOCBINDIR)
pamo damplo: %: %.o
	$(FC) $< -o $@ -ltf -lsffu -ltime -lsff $(PGPLOTLIB) -L$(LOCLIBDIR)
	/bin/mv -fv $@ $(LOCBINDIR)
thomas.forbriger's avatar
thomas.forbriger committed
130
131
132
133
134
135
136
137
f2cstuplo f2csplot f2csusplo: f2c%: %.f2c.o
	$(CC) $< -o $@ -lf2ctf -lf2csff \
        $(PGPLOTF2CLIB) -L$(LOCLIBDIR) $(G2CLIB)
	/bin/mv -fv $@ $(LOCBINDIR)
f2cpamo f2cdamplo: f2c%: %.f2c.o
	$(CC) $< -o $@ -lf2ctf -lf2csffu -lf2ctime -lf2csff \
        $(PGPLOTF2CLIB) -L$(LOCLIBDIR) $(G2CLIB)
	/bin/mv -fv $@ $(LOCBINDIR)
thomas.forbriger's avatar
thomas.forbriger committed
138
endif
thomas.forbriger's avatar
thomas.forbriger committed
139
140

stuploxx: %: %.o
thomas.forbriger's avatar
thomas.forbriger committed
141
	$(CXX) -o $@ $^ -I$(LOCINCLUDEDIR) -lpgplotCpp -lcpgplot \
thomas.forbriger's avatar
thomas.forbriger committed
142
         $(PGPLOTLIB) $(TF_LINK_FORTRAN)  \
thomas.forbriger's avatar
thomas.forbriger committed
143
        -ltfxx -ltsxx -ldatreadxx -lsffxx -lgsexx -ltime++ -laff \
thomas.forbriger's avatar
thomas.forbriger committed
144
145
146
147
148
        -L$(LOCLIBDIR) $(CXXFLAGS) $(FLAGS)
	newprog $@


# ----- END OF Makefile -----