1 |
# Spectre Samba Mounter |
2 |
# |
3 |
# Douglas Thrift |
4 |
# |
5 |
# $Id$ |
6 |
|
7 |
CSRC = Spectre.cpp Configurator.cpp Maker.cpp Mounter.cpp Unmounter.cpp |
8 |
HDRS = ${patsubst %.cpp, %.hpp, ${CSRC}} |
9 |
OBJS = ${patsubst %.cpp, %.o, ${CSRC}} |
10 |
EXEC = spectre |
11 |
|
12 |
UNAME = -D_$(shell uname)_ |
13 |
CPPFLAGS ?= |
14 |
CXX ?= g++ |
15 |
CXXFLAGS += |
16 |
CXXDEP ?= -MM |
17 |
LDFLAGS += |
18 |
INSTALL ?= install -o root -g wheel |
19 |
|
20 |
all: ${EXEC} |
21 |
|
22 |
${EXEC}: configure.h ${OBJS} |
23 |
${CXX} ${OBJS} -o ${EXEC} ${LDFLAGS} |
24 |
|
25 |
%.o:%.cpp |
26 |
${CXX} ${CXXFLAGS} $< -c ${CPPFLAGS} ${UNAME} |
27 |
|
28 |
depend: ${CSRC} ${HDRS} configure.h |
29 |
${CXX} ${CXXDEP} ${CSRC} ${CPPFLAGS} ${UNAME} > depend |
30 |
|
31 |
configure.h: |
32 |
./configure.pl |
33 |
|
34 |
ifeq (,$(filter depend, ${MAKECMDGOALS})) |
35 |
ifneq (,$(wildcard depend)) |
36 |
include depend |
37 |
endif |
38 |
endif |
39 |
|
40 |
install: all |
41 |
${INSTALL} -d -v `./configure.pl -install` |
42 |
${INSTALL} -d -v `./configure.pl -install`/bin |
43 |
${INSTALL} -sv -m u=rwx,go=rx spectre `./configure.pl -install`/bin |
44 |
${INSTALL} -d -v `./configure.pl -install`/conf |
45 |
${INSTALL} -v -m u=rw,go=r spectre.conf.sample \ |
46 |
`./configure.pl -install`/conf |
47 |
${INSTALL} -d -v -m u=rwx,go= `./configure.pl -install`/conf/private |
48 |
|
49 |
clean: |
50 |
- rm ${OBJS} ${EXEC} ${patsubst %, %.exe, ${EXEC}} core *.core |
51 |
|
52 |
distclean: clean |
53 |
- rm depend configure.dat configure.h |