summaryrefslogtreecommitdiff
path: root/science/fsom/files/Makefile
blob: 7e41acae8b988b80cac78e29e94ea51b04ca2b37 (plain) (blame)
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
# Use ?= to allow overriding from the env or command-line, e.g.
#
#       make CXXFLAGS="-O3 -fPIC" install
#
# Package managers will override many of these variables automatically, so
# this is aimed at making it easy to create packages (Debian packages,
# FreeBSD ports, MacPorts, pkgsrc, etc.)

CXX ?=		g++
CXXFLAGS ?=	-w -O3 -pipe -fomit-frame-pointer -ffast-math
AR ?=		ar
MKDIR ?=	mkdir
STRIP ?=	strip
DESTDIR ?=	stage
PREFIX ?=	/usr/local

BIN =	fsom
LIB =	libfsom.a
OBJS =	fsom.o split.o
MAIN =	main.o

all:	${BIN} ${LIB}

${BIN}:	${OBJS} ${MAIN}
	${CXX} -o fsom ${OBJS} ${MAIN} -lm

${LIB}:	${OBJS}
	${AR} -rs ${LIB} ${OBJS}

fsom.o:	fsom.c
	${CXX} ${CXXFLAGS} -c fsom.c

split.o: split.cpp
	${CXX} ${CXXFLAGS} -c split.cpp

main.o: main.cpp
	${CXX} ${CXXFLAGS} -c main.cpp

install: all
	${MKDIR} -p ${DESTDIR}${PREFIX}/bin
	${MKDIR} -p ${DESTDIR}${PREFIX}/include/fsom
	${MKDIR} -p ${DESTDIR}${PREFIX}/lib
	${INSTALL} ${BIN} ${DESTDIR}${PREFIX}/bin
	${INSTALL} *.h ${DESTDIR}${PREFIX}/include/fsom
	${INSTALL} ${LIB} ${DESTDIR}${PREFIX}/lib

install-strip: install
	${STRIP} ${DESTDIR}${PREFIX}/bin/${BIN}

clean:
	rm -rf *.o ${BIN} ${LIB} ${DESTDIR}