VERSION= xppaut4.71
#
# This Makefile should be read and edited for your architecture.
# All of the machines on which I have tested the software are
# included here. Copy it first so you dont screw up the original
#
# -DSTRUPR - your compiler has strupr
# -DNORAND48 - your compiler does not have drand48 and srand48
# -DNOERRNO - errno is undefined for your compiler
#
# Standard C compiler
#CC= cc
# Use Gnu compiler
CC= gcc
#for just making XPP delete -DAUTO
#CFLAGS= -I/usr/openwin/include
#### Some CFLAGS for different compilers
#
#### HP, Linux
#
#CFLAGS= -O -DAUTO -DCVODE_YES -I/usr/X11R6/include
#CFLAGS= -O -DAUTO -DCVODE_YES -DHAVEDLL -I/usr/X11R6/include
CFLAGS= -O -DAUTO -DCVODE_YES -DHAVEDLL -DMKAVI -I/usr/X11R6/include
#
# Cygwin gcc for windows
#
# CFLAGS= -O -DNORAND48 -DMKAVI -DNOGIF -DSTRUPR -DNOERRNO -DAUTO -DCVODE_YES -I/usr/x11r6.3/include
#### SPARC or SOLARIS using gcc
#
#CFLAGS= -O -DAUTO -DCVODE_YES -I/usr/openwin/include
#
#
#### SPARC or SOLARIS using SunPro cc compiler
#CFLAGS= -O -DSUNPRO -DAUTO -DCVODE_YES -I/usr/openwin/include
#
#
### SGI Iris
#
#CFLAGS= -cckr -O -DAUTO -DCVODE_YES
#
#
# DEC Alpha OSF
#
#CFLAGS= -O -DAUTO -DCVODE_YES -Olimit 1000
#
###########################
# LD flags #
##########################
#
# This is the usual for LINUX, HP, SGI
#
LDFLAGS= -L/usr/X11R6/lib
#
#
# Cygwin
#
#LDFLAGS= -L/usr/x11r6.3/lib
#
# ?????????????
# LDFLAGS= -L/usr/X11R6/lib -pg
#
# SPARC
#
# LDFLAGS= -L/usr/openwin/lib
#
# Some versions of Linux need
#LDFLAGS= -static
#
#
# Libraries
#
# LINUX with the f2c libraries (recommended)
#
AUTLIBS= -lf2c -lX11 -lm
#
# Some versions of LINUX that use the -static
#AUTLIBS= -lf2c -lX11 -lm -lieee
#
# SPARC with the built in f2c libraries
#AUTLIBS= -lI77 -lF77 -lX11 -lm
#
# AUTLIBS for some SGI setups
# AUTLIBS= -lI77 -lF77 -lisam -lX11 -lm
# (compliments of John Wagner)
#
# If you made your own f2c stuff (works for DEC, HP,SPARC,LINUX,MACH)
#LIBS= -lX11 -lm
LIBS= -lX11 -lm -ldl -lstdc++
# if you have dynamic loading
# LIBS= -lX11 -lm -ldl
#
#OTHERLIBS= libcvode.a libf2cm.a
OTHERLIBS= libcvode.a libmkavi.a libf2cm.a
### All the sources etc
#
#
#
#
#
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
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
ODES = cable.ode cuplamdif.ode delay.ode delta.ode fhn.ode \
fieldnoy.ode gberg.ode hhred.ode kepler.ode lamomeg.ode \
lamvolt.ode lecar.ode lin.ode lorenz.ode ml1.ode nnet.ode \
pend.ode pp.ode torus.ode tstvol2.ode tyson.ode vdp.ode \
voltex1.ode voltex2.ode wta.ode wave.ode forcpend.ode \
wcring.ode wave.ani pend.ani pend2.ani lamprey.ode \
fish.ani lorenz2.ode lorenz.ani junk.ode junk2.ode \
nnet2.ode dae_ex1.ode dae_ex2.ode dae_ex3.ode 6x6.ode 6x6.ani\
forcpend.ode cobweb2.ode del_log.ode waterwheel.ode \
waterwheel.ani myret.ode pp.ode rossler.ode vlsi.ode fr.ode \
vtst.ode nochaos.ode geisel.ode elaspen.ani elaspen.ode \
julia.ode r3b.ode borcol.ode invpend.ode invpend.ani transient.ode \
tstdll.ode
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
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 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
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
AUTOOBJ = autlib1.o autlib2.o autlib3.o autevd.o run_auto.o autpp.o \
diagram.o auto.o flowkm.o
###########################################################
###########################################################
#xppaut: mkI77 mkcvode mkmyfun $(OBJECTS) $(AUTOOBJ)
#
#
xppaut: mkI77 mkcvode mkmkavi $(OBJECTS) $(AUTOOBJ)
#
#
###############################################
# The three different cases for compiling:
# Use case (1) for DEC ALPHA/OSF
#### Using the reduced library that comes with XPP (1)
##### This is the recommended way!
$(CC) -DAUTO -o xppaut $(OBJECTS) $(AUTOOBJ) $(LDFLAGS) $(OTHERLIBS) $(LIBS)
#####
## 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
##############################################
# most users can ignore below here
##############################################
xpplib: $(LIB_OBJECTS) $(AUTOOBJ)
(ar rcv libxpp.a $(LIB_OBJECTS) $(AUTOOBJ) cvodesrc/*.o libI77/*.o ; ranlib libxpp.a)
xpp: $(OBJECTS) $(AUTOOBJ)
$(CC) -o xppnoaut $(OBJECTS) $(LDFLAGS) $(LIBS)
src: $(SOURCES) $(AUTSRC)
#cmode
#load -DAUTO -C $(CFLAGS) $(SOURCES) $(AUTSRC) $(AUTLIBS)
obj: $(OBJS)
#load $(CFLAGS) $(SOURCES) $(LIBS)
tarfile:
tar cf $(VERSION).tar $(SOURCES) $(AUTOSRC) $(HEADERS) $(BITMAPS) default.opt \
xpp_doc.tex README Makefile Makefile.lib \
$(ODES) xpp_doc.ps xpp_sum.tex xpp_sum.ps nullcline_bw.c \
libI77/*.c libI77/*.h libI77/Makefile \
cvodesrc/*.c cvodesrc/*.h cvodesrc/Makefile \
mkavi/*.cc mkavi/*.h mkavi/Makefile mkavi/drive.c
gzip $(VERSION).tar
binary:
tar cf binary.tar xppaut $(ODES) README xpp_doc.ps
compress binary.tar
clean:
rm *.o;rm libI77/*.o;rm cvodesrc/*.o
doc:
latex xpp_doc
latex xpp_doc
latex xpp_doc
dvips -o xpp_doc.ps xpp_doc
latex xpp_sum
latex xpp_sum
dvips -o xpp_sum.ps xpp_sum
syntax highlighted by Code2HTML, v. 0.9.1