cngf-pf

continuum model for granular flows with pore-pressure dynamics (renamed from 1d_fd_simple_shear)
git clone git://src.adamsgaard.dk/cngf-pf # fast
git clone https://src.adamsgaard.dk/cngf-pf.git # slow
Log | Files | Refs | README | LICENSE Back to index

Makefile (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