forked from LLNL/UEDGE
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.Forthon
77 lines (57 loc) · 4.14 KB
/
Makefile.Forthon
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
DEBUG = -v --fargs "-Ofast -DFORTHON -cpp" # -g #--fargs "-C=array" #--fargs "-CB -traceback"
SO = so
PUBLICHOME =
BUILDDIR = build
DIRLIST = com aph api bbb flx grd svr wdf ncl
MYPYTHON = python3
FORTHON = Forthon3
BUILDBASE = -v --build-base $(BUILDDIR)
INSTALLARGS = --pkgbase uedge $(BUILDBASE)
all: mppl2f90 $(BUILDDIR)/compydep $(BUILDDIR)/grdpydep $(BUILDDIR)/flxpydep $(BUILDDIR)/bbbpydep $(BUILDDIR)/svrpydep $(BUILDDIR)/wdfpydep $(BUILDDIR)/aphpydep $(BUILDDIR)/apipydep $(BUILDDIR)/nclpydep
rm -f uedgeC.so
mppl2f90:
(export PYTHONPATH=.:./pyscripts; $(MYPYTHON) convertor)
$(BUILDDIR)/compydep: com/blasext.F com/brent.F com/comutil.F com/misc.F com/mnbrak.F com/dsum.f com/dummy_py.f com/error.f com/getmsg.f com/ssum.f com/$(PETSC-COM) com/com.v
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) $(DEBUG) --interfacefile com/com.v -f com/blasext.F com com/brent.F com/comutil.F com/misc.F com/mnbrak.F com/dsum.f com/dummy_py.f com/error.f com/getmsg.f com/ssum.f $(PETSC-COM)
touch $@
$(BUILDDIR)/aphpydep: $(BUILDDIR)/compydep aph/aphrates.F aph/aphread.F aph/aph.v
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) $(DEBUG) --interfacefile aph/aph.v -f aph/aphrates.F aph aph/aphread.F
touch $@
$(BUILDDIR)/apipydep: $(BUILDDIR)/compydep api/apifcn.F api/apip93.F api/apisorc.F api/fimp.F api/fmombal.F api/inelrates.F api/sputt.F api/api.v com/com.v
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) $(DEBUG) --interfacefile api/api.v -d com -f api/apifcn.F api api/apip93.F api/apisorc.F api/fimp.F api/fmombal.F api/inelrates.F api/sputt.F
touch $@
$(BUILDDIR)/bbbpydep: $(BUILDDIR)/compydep bbb/boundary.F bbb/convert.F bbb/geometry.F bbb/griddubl.F bbb/oderhs.F bbb/odesetup.F bbb/odesolve.F bbb/potencur.F bbb/turbulence.F bbb/ext_neutrals.F bbb/bbb.v com/com.v
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) --interfacefile bbb/bbb.v $(DEBUG) --macros com/com.v $(READLINE) -d com -f bbb/boundary.F bbb bbb/convert.F bbb/geometry.F bbb/griddubl.F bbb/oderhs.F bbb/odesetup.F bbb/odesolve.F bbb/potencur.F bbb/turbulence.F bbb/ext_neutrals.F
touch $@
$(BUILDDIR)/flxpydep: $(BUILDDIR)/compydep flx/flxcomp.F flx/flxdriv.F flx/flxread.F flx/flxwrit.F flx/flx.v com/com.v
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) $(DEBUG) --interfacefile flx/flx.v -d com -f flx/flxcomp.F flx flx/flxdriv.F flx/flxread.F flx/flxwrit.F
touch $@
$(BUILDDIR)/grdpydep: $(BUILDDIR)/compydep grd/grdcomp.F grd/grddriv.F grd/grdinit.F grd/grdread.F grd/grdwrit.F grd/grd.v com/com.v
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) $(DEBUG) --interfacefile grd/grd.v -d com -f grd/grdcomp.F grd grd/grddriv.F grd/grdinit.F grd/grdread.F grd/grdwrit.F
touch $@
$(BUILDDIR)/svrpydep: $(BUILDDIR)/bbbpydep svr/daspk.F svr/nksol.F svr/svrut1.F svr/svrut2.F svr/svrut3.F svr/svrut4.F svr/vodpk.F svr/uoa.F svr/daux1.f svr/$(PETSC-UEDGE) svr/svr.v
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) $(DEBUG) --interfacefile svr/svr.v --macros bbb/bbb.v -d bbb -f svr/daspk.F svr svr/nksol.F svr/svrut1.F svr/svrut2.F svr/svrut3.F svr/svrut4.F svr/vodpk.F svr/uoa.F svr/daux1.f $(PETSC-UEDGE)
touch $@
$(BUILDDIR)/wdfpydep: wdf/wdf.F wdf/wdf.v
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) $(DEBUG) --interfacefile wdf/wdf.v -f wdf/wdf.F wdf
touch $@
$(BUILDDIR)/nclpydep: ncl/ncl_driver.m ncl/ncl.v ncl/nclass_mod.f ncl/rarray_copy.f ncl/rarray_sum.f ncl/rarray_zero.f ncl/u_erf.f ncl/u_lu_backsub.f ncl/u_lu_decomp.f ncl/write_mod.f
$(FORTHON) -a $(INSTALLARGS) -a $(FCOMP) $(DEBUG) --interfacefile ncl/ncl.v -f ncl/ncl_driver.F ncl ncl/nclass_mod.f ncl/rarray_copy.f ncl/rarray_sum.f ncl/rarray_zero.f ncl/u_erf.f ncl/u_lu_backsub.f ncl/u_lu_decomp.f ncl/write_mod.f
public: all
publishpyuedge90.py $(PUBLICHOME)
update:
for dir in $(PUBLICHOME); do \
cd $$dir; \
cvs update; \
done
clean:
find . -depth -name build -exec rm -rf {} \;
find . -depth -name __pycache__ -exec rm -rf {} \;
find . -name \*.pyc -exec rm {} \;
find . -name \*.F -exec rm {} \;
touch uedgeC_Forthon.c
#----------------------------------------------------------------------------
#--- Build command for opendx wrapper.
DX: pyDXObject.c
$(MYPYTHON) DXsetup.py build --build-platlib .
#----------------------------------------------------------------------------