tMakefile - cngf-pf - continuum model for granular flows with pore-pressure dynamics (renamed from 1d_fd_simple_shear)
HTML git clone git://src.adamsgaard.dk/cngf-pf
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
tMakefile (2159B)
---
1 .POSIX:
2
3 NAME = cngf-pf
4 VERSION = 0.7.2
5
6 # paths
7 PREFIX = /usr/local
8 MANPREFIX = ${PREFIX}/share/man
9 DOCPREFIX = ${PREFIX}/share/doc/${NAME}
10
11 BIN = \
12 cngf-pf\
13 deborah\
14 max_depth_simple_shear\
15 shear_flux\
16
17 SCRIPTS = \
18 cngf-pf-plot-point-evol\
19 cngf-pf-plot-depth-evol\
20
21 SRC = \
22 arrays.c\
23 fluid.c\
24 simulation.c\
25
26 HDR = \
27 arg.h\
28 arrays.h\
29 fluid.h\
30 simulation.h\
31
32 LIBS = -lm
33
34 CNGFPF_CFLAGS = ${CFLAGS} ${INCS} -DVERSION=\"${VERSION}\"
35 CNGFPF_LDFLAGS = ${LDFLAGS}
36 CNGFPF_LIBS = ${LIBS}
37
38 MAN1 = \
39 ${BIN:=.1}\
40 ${SCRIPTS:=.1}\
41
42 DOC = \
43 README.md\
44 LICENSE\
45
46 all: ${BIN}
47
48 OBJ = ${SRC:.c=.o}
49
50 ${OBJ}: ${HDR}
51
52 cngf-pf: cngf-pf.o
53 max_depth_simple_shear: max_depth_simple_shear.o
54 shear_flux: shear_flux.o
55 deborah: deborah.o
56
57 ${BIN}: ${OBJ}
58 ${CC} ${CNGFPF_LDFLAGS} -o $@ ${@:=.o} ${OBJ} ${CNGFPF_LIBS}
59
60 .c.o:
61 ${CC} ${CNGFPF_CFLAGS} -o $@ -c $<
62
63 dist:
64 rm -rf "${NAME}-${VERSION}"
65 mkdir -p "${NAME}-${VERSION}"
66 cp -rf ${MAN1} ${DOC} ${HDR} ${SRC} ${BIN:=.c} ${SCRIPTS} Makefile \
67 "${NAME}-${VERSION}"
68 # make tarball
69 tar cf - "${NAME}-${VERSION}" | \
70 gzip -c > "${NAME}-${VERSION}.tar.gz"
71 rm -rf "${NAME}-${VERSION}"
72
73 install: ${BIN}
74 # installing executables
75 mkdir -p ${DESTDIR}${PREFIX}/bin
76 cp -f ${BIN} ${SCRIPTS} ${DESTDIR}${PREFIX}/bin
77 for f in ${BIN} ${SCRIPTS}; do chmod 755 ${DESTDIR}${PREFIX}/bin/$$f; done
78 # installing documentation and license information
79 mkdir -p ${DESTDIR}${DOCPREFIX}
80 cp -f ${DOC} ${DESTDIR}${DOCPREFIX}
81 for f in ${DOC}; do chmod 644 ${DESTDIR}${DOCPREFIX}/$$f; done
82 # installing man pages
83 mkdir -p ${DESTDIR}${MANPREFIX}/man1
84 cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1
85 for f in ${MAN1}; do chmod 644 ${DESTDIR}${MANPREFIX}/man1/$$f; done
86
87 uninstall:
88 # removing executable files
89 for f in ${BIN} ${SCRIPTS}; do rm -f ${DESTDIR}${PREFIX}/bin/$$f; done
90 # removing documentation and license information
91 for f in ${DOC}; do rm -f ${DESTDIR}${DOCPREFIX}/$$f; done
92 -rmdir ${DESTDIR}${DOCPREFIX}
93 # removing man pages
94 for f in ${MAN1}; do rm -f ${DESTDIR}${MANPREFIX}/man1/$$f; done
95
96 test: ${BIN}
97 make -C test/
98
99 clean:
100 rm -f ${BIN} ${BIN:=.o} ${OBJ} test/*.txt
101
102 .PHONY: all install uninstall test clean dist