forked from Ermentrout/xppaut
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile.w7b
executable file
·278 lines (276 loc) · 11.1 KB
/
Makefile.w7b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
# Copyright (C) 1990-2011 Bard Ermentrout & Daniel Dougherty
# Edited for Debian GNU/Linux.
DESTDIR =
BINDIR = $(DESTDIR)/usr/X11R6/bin
DOCDIR = $(DESTDIR)/usr/share/doc/xppaut
# End Debian Edit
#################################
#
VERSION=7.0
MAJORVER=7.0
MINORVER=0
ODES=ode/*.ode ode/*.ani
DOC=xpp_doc.ps xpp_doc.pdf xpp_sum.ps xpp_sum.pdf install.pdf
HELP=help/*.html
# Standard C compiler
#CC= cc
# Use Gnu compiler
CC= gcc
AUTLIBS= -lf2c -lX11 -lm
OTHERLIBS= libcvode.a libf2cm.a
#
##################################
# Standard Linux distributions #
##################################
#CFLAGS= -g -O -DAUTO -DCVODE_YES -DHAVEDLL -DMYSTR=$(VERSION) -I/usr/X11R6/include
#CFLAGS= -g -O -m32 -DNON_UNIX_STDIO -DAUTO -DCVODE_YES -DHAVEDLL -DMYSTR=$(VERSION) -I/usr/X11R6/include
CFLAGS= -g -O -m32 -DNON_UNIX_STDIO -DAUTO -DSTRUPR -DCVODE_YES -DHAVEDLL -DMYSTR1=$(MAJORVER) -DMYSTR2=$(MINORVER) -I/usr/X11R6/include
LDFLAGS= -m32 -L/usr/X11R6/lib
LIBS= -lX11 -lm -ldl
# NOTE: Recent (RedHat 8) versions of GCC seem to no longer have
# the integer errno, so compile with the -DNOERRNO option as well
#
# some errors with ctype on newer machines HP ITANIUM, eg can be fixed
# with the -DWCTYPE
#
# 64 Bit machines must use a different parser code.
# In the OBJECTS section, replace parser2.o with parserslow2.o
# it is not really that much slower so don't have a cow
#
#################################
# MACOSX #
#################################
#CFLAGS= -g -O -DMACOSX -DAUTO -DCVODE_YES -DMYSTR=$(VERSION) -I/usr/X11R6/include
# LIBS= -lX11 -lm
# LDFLAGS= -L/usr/X11R6/lib
#
#################################
# CYGWIN #
#################################
# CFLAGS= -O -DBGR -DNORAND48 -DSTRUPR -DNOERRNO -DAUTO -DCVODE_YES -DMYSTR=$(VERSION) -I/usr/X11R6/include
#LIBS= -lX11 -lm
#LDFLAGS= -L/usr/X11R6/lib
#
#################################
# SPARC #
#################################
# CFLAGS= -O -DAUTO -DMYSTR=$(VERSION) -DCVODE_YES -I/usr/openwin/include
# LDFLAGS= -L/usr/openwin/lib
# LIBS= -lm -lX11
#
################################
# SUNPro compiler #
################################
# CFLAGS= -O -DSUNPRO -DAUTO -DCVODE_YES -I/usr/openwin/include
# LDFLAGS= -L/usr/openwin/lib
# LIBS= -lm -lX11
#
################################
# SGI #
################################
#CFLAGS= -g -O -DAUTO -DCVODE_YES -DMYSTR=$(VERSION) -I/usr/X11R6/include
# Old SGIs without gcc
#
#CFLAGS= -cckr -O -DAUTO -DMYSTR=$(VERSION) -DCVODE_YES
# LDFLAGS= -L/usr/X11R6/lib
# LIBS= -lm -lX11
#
###############################
# HP #
###############################
#CFLAGS= -g -O -DAUTO -DMYSTR=$(VERSION) -DCVODE_YES -DHAVEDLL -I/usr/X11R6/include
# LDFLAGS= -L/usr/X11R6/lib
# LIBS= -lm -lX11 -ldl
#
###############################
# DEC OSF #
###############################
#
#CFLAGS= -O -DAUTO -DCVODE_YES -DMYSTR=$(VERSION) -Olimit 1000
#
###############################################################
# You can stop messing with it now, the rest is
# probably OkeyDokey
###############################################################
HEADERS = browse.h form_ode.h gear.h help_defs.h my_pars.h \
newhome.h numerics.h odesol.h parser.h phsplan.h \
shoot.h struct.h volterra.h auto_define.h xpplim.h \
mykeydef.h newpars.h myfonts.h f2c.h menus.h toons.h \
parserslow.h dormpri.h fftn.h autlim.h menudrive.h lio.h cvode.h\
getvar.h kbs.h macdirent.h macsysdirent.h fio.h fmt.h fp.h local.h \
vector.h spgmr.h llnltyps.h llnlmath.h iterativ.h dense.h \
cvspgmr.h cvdiag.h cvdense.h cvband.h band.h
BITMAPS = bc.bitmap browse.bitmap delay.bitmap eqns.bitmap\
equilib.bitmap graph.bitmap ic.bitmap array.bitmap\
param.bitmap pp.bitmap auto.bitmap aniwin.bitmap \
txtview.bitmap lines.bitmap
SOURCES = main.c ggets.c menu.c rubber.c derived.c init_condold.c \
many_pops.c pop_list.c graphics.c dialog_box.c \
numerics.c choice_box.c color.c init_conds.c \
browse.c kinescope.c axes2.c abort.c \
parser2.c storage.c load_eqn.c lunch-new.c \
form_ode.c odesol2.c gear.c eig_list.c \
integrate.c delay_handle.c graf_par.c\
my_ps.c nullcline.c torus.c pp_shoot.c\
lunch.c calc.c adj2.c my_rhs.c dormpri.c\
volterra2.c tabular.c markov.c histogram.c \
autlib1.c autlib2.c autlib3.c autevd.c run_auto.c autpp.c \
diagram.c auto.c flowkm.c comline.c edit_rhs.c do_fit.c \
flags.c del_stab.c stiff.c arrayplot.c array_print.c \
aniparse.c simplenet.c dae_fun.c read_dir.c parserslow2.c \
kinescope_old.c fftn.c extra.c funexample.c scrngif.c \
kinescope_avi.c aniparse_avi.c nagroutines.c flowkm_small.c \
homsup.c txtread.c menudrive.c rtsafe.c vector.c userbut.c \
lbf_drive.c auto_nox.c auto_x11.c cli.c\
Version.c backspace.c dfe.c due.c iio.c inquire.c rewind.c rsfe.c \
rdfmt.c sue.c uio.c wsfe.c sfe.c fmt.c lio.c lread.c open.c \
close.c util.c endfile.c wrtfmt.c wref.c err.c fmtlib.c rsne.c wsne.c \
fc77.c f2cstart.c \
cvode.c cvdense.c dense.c cvband.c \
band.c cvdiag.c cvspgmr.c spgmr.c \
iterativ.c vector.c llnlmath.c cv2.c
#
# WARNING: For 64 bit machines replace parser2.o with parserslow2.o
# in the OBJECTS section!
#
OBJECTS = main.o ggets.o menu.o rubber.o derived.o\
many_pops.o pop_list.o graphics.o dialog_box.o \
numerics.o choice_box.o color.o init_conds.o \
browse.o kinescope.o axes2.o abort.o \
parserslow2.o storage.o load_eqn.o\
form_ode.o odesol2.o gear.o eig_list.o\
integrate.o delay_handle.o graf_par.o dormpri.o\
my_ps.o nullcline.o torus.o pp_shoot.o \
lunch-new.o calc.o adj2.o my_rhs.o read_dir.o\
volterra2.o tabular.o markov.o histogram.o \
comline.o edit_rhs.o do_fit.o flags.o del_stab.o stiff.o \
arrayplot.o array_print.o aniparse.o simplenet.o dae_fun.o \
fftn.o extra.o scrngif.o nagroutines.o homsup.o txtread.o \
menudrive.o userbut.o \
Version.o backspace.o dfe.o due.o iio.o inquire.o rewind.o rsfe.o \
rdfmt.o sue.o uio.o wsfe.o sfe.o fmt.o lio.o lread.o open.o \
close.o util.o endfile.o wrtfmt.o wref.o err.o fmtlib.o rsne.o wsne.o \
fc77.o f2cstart.o \
cvode.o cvdense.o dense.o cvband.o \
band.o cvdiag.o cvspgmr.o spgmr.o \
iterativ.o vector.o llnlmath.o cv2.o
LIB_OBJECTS = main.o ggets.o menu.o rubber.o derived.o\
many_pops.o pop_list.o graphics.o dialog_box.o \
numerics.o choice_box.o color.o init_conds.o \
browse.o kinescope.o axes2.o abort.o \
parser2.o storage.o load_eqn.o\
form_ode.o odesol2.o gear.o eig_list.o\
integrate.o delay_handle.o graf_par.o dormpri.o\
my_ps.o nullcline.o torus.o pp_shoot.o \
lunch-new.o calc.o adj2.o read_dir.o\
volterra2.o tabular.o markov.o histogram.o \
comline.o edit_rhs.o do_fit.o flags.o del_stab.o stiff.o \
arrayplot.o array_print.o aniparse.o simplenet.o dae_fun.o \
fftn.o extra.o scrngif.o nagroutines.o homsup.o txtread.o \
menudrive.o userbut.o
AUTOOBJ = autlib1.o autlib2.o autlib3.o autevd.o run_auto.o autpp.o \
diagram.o auto_nox.o auto_x11.o flowkm_small.o
######################################################################
#
#
xppaut: $(OBJECTS) $(AUTOOBJ)
#
###########################################################
# Okay, here we go
#############################################
$(CC) -DAUTO -o xppaut $(OBJECTS) $(AUTOOBJ) $(LDFLAGS) $(LIBS)
########################################################
########################################################
# Probably never need this but here it is
###########################################################
## shared library method - delete my_fun.o from OBJECTS
# $(CC) -DAUTO -o xppaut $(OBJECTS) $(AUTOOBJ) $(LDFLAGS) libcvode.a libf2cm.a libmyfun.so $(LIBS)
#### You made your own libraries but installed locally (2)
# $(CC) -DAUTO -o xppaut $(OBJECTS) $(AUTOOBJ) $(LDFLAGS) libcvode.a libI77.a libF77.a $(LIBS)
##
#### You have previously installed the f2c libraries
# $(CC) -DAUTO -o xppaut $(OBJECTS) $(AUTOOBJ) $(LDFLAGS) libcvode.a $(AUTLIBS)
#
#
###################################################################
################################################################
mkmyfun:
make -f Makefile.lib
mkI77:
cd libI77 ; make
mkcvode:
cd cvodesrc ; make
mkmkavi:
cd mkavi ; make
#
# Edited for Debian GNU/Linux.
install: xppaut
# Make necessary installation directories
mkdir -p $(BINDIR)
mkdir -p $(DOCDIR)/html
mkdir -p $(DOCDIR)/examples
mkdir -p $(DESTDIR)/usr/X11R6/man/man1
# Put everything home
strip xppaut
cp xppaut $(BINDIR)
cp -r ode* $(DOCDIR)/examples
cp -r help/* $(DOCDIR)/html
cp README *.pdf $(DOCDIR)
cp xppaut.1 $(DESTDIR)/usr/X11R6/man/man1
# End Debian Ed
uninstall:
# Remove everything you created
rm $(BINDIR)/xppaut
rm -r $(DOCDIR)
rm -r $(DESTDIR)/usr/X11R6/man/man1/xppaut.1
# End Debian Ed
##################################################
# Make s stand alone library -must link your rhs
###################################################
xpplib: $(LIB_OBJECTS) $(AUTOOBJ)
(ar rcv libxpp.a $(LIB_OBJECTS) $(AUTOOBJ) cvodesrc/*.o libI77/*.o ; ranlib libxpp.a)
####################################################
# tar file and old tarfile in case
####################################################
tarfile:
tar cvf xppaut$(VERSION).tar $(SOURCES) $(AUTOSRC) $(HEADERS) $(BITMAPS) default.opt \
xpp_doc.tex README Makefile Makefile.w7b Makefile.nice Makefile.lib Makefile.avi Makefile.old \
ode/*.* xpp_doc.ps xpp_doc.pdf xpp_sum.tex xpp_sum.pdf xpp_sum.ps nullcline_bw.c \
xppaut.1\
mkavi/*.cc mkavi/*.h mkavi/Makefile mkavi/drive.c help/*.html \
help/odes/*.ode help/odes/*.c install.pdf install.tex LICENSE HISTORY \
Makefile.s2x sbml2xpp.c *.xbm *.jar
gzip xppaut$(VERSION).tar
otarfile:
tar cvf xppaut$(VERSION).tar $(SOURCES) $(AUTOSRC) $(HEADERS) $(BITMAPS) default.opt \
xpp_doc.tex README Makefile Makefile.nice Makefile.lib Makefile.avi Makefile.old \
ode/*.* xpp_doc.ps xpp_doc.pdf xpp_sum.tex xpp_sum.pdf xpp_sum.ps nullcline_bw.c \
libI77/*.c libI77/*.h libI77/Makefile \
cvodesrc/*.c cvodesrc/*.h cvodesrc/Makefile xppaut.1\
mkavi/*.cc mkavi/*.h mkavi/Makefile mkavi/drive.c help/*.html \
help/odes/*.ode help/odes/*.c install.pdf install.tex LICENSE HISTORY \
Makefile.s2x sbml2xpp.c *.xbm *.jar
gzip xppaut$(VERSION).tar
##############################################
# pack up a binary
##############################################
binary:
strip xppaut;tar zvcf binary.tgz xppaut xppaut.1 $(ODES) $(DOC) $(HELP) README HISTORY LICENSE
##############################################
# clean
##############################################
clean:
rm -f *.o *.a libI77/*.o libI77/*.a cvodesrc/*.o cvodesrc/*.a xppaut
#######################################################
# Documentation
#######################################################
xppdoc:
latex xpp_doc
latex xpp_doc
latex xpp_doc
dvips -o xpp_doc.ps xpp_doc
ps2pdf xpp_doc.ps
latex xpp_sum
latex xpp_sum
dvips -o xpp_sum.ps xpp_sum
ps2pdf xpp_sum.ps