Makefile 3.92 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.16 2007-12-14 16:40:39 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
thomas.forbriger's avatar
thomas.forbriger committed
12
13
# 
# ============================================================================
thomas.forbriger's avatar
thomas.forbriger committed
14
#
thomas.forbriger's avatar
thomas.forbriger committed
15
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!

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

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

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

CC=gcc
thomas.forbriger's avatar
thomas.forbriger committed
34
FC=g77
thomas.forbriger's avatar
thomas.forbriger committed
35
36
FLAGS += $(MYFLAGS)
CFLAGS=-O2 $(FLAGS)
thomas.forbriger's avatar
thomas.forbriger committed
37

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

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

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

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

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

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

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

	newprog $@

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

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

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

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

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

thomas.forbriger's avatar
thomas.forbriger committed
120
121
122
123
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
124
125
126
127
128
129
130
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
131
132
133
134
135
136
137
138
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
139
endif
thomas.forbriger's avatar
thomas.forbriger committed
140
141

stuploxx: %: %.o
thomas.forbriger's avatar
thomas.forbriger committed
142
143
144
	$(CXX) -o $@ $^ -I$(LOCINCLUDEDIR) -lpgplotCpp -lcpgplot -lpgplot77 \
        -lg2c -lm -lX11 -L/usr/X11/lib \
        -ltfxx -ltsxx -ldatreadxx -lsffxx -lgsexx -ltime++ -laff \
thomas.forbriger's avatar
thomas.forbriger committed
145
146
147
148
149
        -L$(LOCLIBDIR) $(CXXFLAGS) $(FLAGS)
	newprog $@


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