Subversion Repositories public

Rev

Rev 45 | Rev 55 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 45 Rev 49
1
PREFIX = /usr/local
1
PREFIX = /usr/local
2
DATADIR = /var/spool/incron
2
DATADIR = /var/spool/incron
3
3
4
USER = incron
4
USER = incron
5
5
6
CXX = g++
6
CXX = g++
7
INSTALL = install
7
INSTALL = install
8
8
9
OPTIMIZE = -O2
9
OPTIMIZE = -O2
10
DEBUG = -g0
10
DEBUG = -g0
11
WARNINGS = -Wall
11
WARNINGS = -Wall
12
12
13
CPPFLAGS = 
13
CPPFLAGS = 
14
CXXFLAGS = $(OPTIMIZE) $(DEBUG) $(WARNINGS)
14
CXXFLAGS = $(OPTIMIZE) $(DEBUG) $(WARNINGS)
15
LDFLAGS = $(WARNINGS)
15
LDFLAGS = $(WARNINGS)
16
16
17
PROGRAMS = incrond incrontab
17
PROGRAMS = incrond incrontab
18
18
19
INCROND_OBJ = icd-main.o incrontab.o inotify-cxx.o usertable.o strtok.o
19
INCROND_OBJ = icd-main.o incrontab.o inotify-cxx.o usertable.o strtok.o
20
INCRONTAB_OBJ = ict-main.o incrontab.o inotify-cxx.o strtok.o
20
INCRONTAB_OBJ = ict-main.o incrontab.o inotify-cxx.o strtok.o
21
21
22
22
23
all:	$(PROGRAMS)
23
all:	$(PROGRAMS)
24
24
25
incrond:	$(INCROND_OBJ)
25
incrond:	$(INCROND_OBJ)
26
	$(CXX) $(LDFLAGS) -o $@ $(INCROND_OBJ)
26
	$(CXX) $(LDFLAGS) -o $@ $(INCROND_OBJ)
27
27
28
incrontab:	$(INCRONTAB_OBJ)
28
incrontab:	$(INCRONTAB_OBJ)
29
	$(CXX) $(LDFLAGS) -o $@ $(INCRONTAB_OBJ)
29
	$(CXX) $(LDFLAGS) -o $@ $(INCRONTAB_OBJ)
30
30
31
.cpp.o:
31
.cpp.o:
32
	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
32
	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
33
33
34
clean:
34
clean:
35
	rm -f $(PROGRAMS)
35
	rm -f $(PROGRAMS)
36
	rm -f *.o
36
	rm -f *.o
37
37
38
distclean: clean
38
distclean: clean
39
39
40
install:	all
40
install:	all
41
	[ -d $(PREFIX) ]
41
	[ -d $(PREFIX) ]
42
	useradd -M -s /sbin/nologin $(USER)
42
	useradd -M -s /sbin/nologin $(USER) || useradd -s /sbin/nologin $(USER)
43
	$(INSTALL) -m 04755 -o $(USER) incrontab $(PREFIX)/bin/
43
	$(INSTALL) -m 04755 -o $(USER) incrontab $(PREFIX)/bin/
44
	$(INSTALL) -m 0755 incrond $(PREFIX)/sbin/
44
	$(INSTALL) -m 0755 incrond $(PREFIX)/sbin/
45
	$(INSTALL) -m 0755 -o $(USER) -d $(DATADIR)
45
	$(INSTALL) -m 0755 -o $(USER) -d $(DATADIR)
46
46
47
uninstall:
47
uninstall:
48
	[ -d $(PREFIX) ]
48
	[ -d $(PREFIX) ]
49
	rm -f $(PREFIX)/bin/incrontab
49
	rm -f $(PREFIX)/bin/incrontab
50
	rm -f $(PREFIX)/sbin/incrond
50
	rm -f $(PREFIX)/sbin/incrond
51
	userdel $(USER)
51
	userdel $(USER)
52
52
53
53
54
.PHONY:	all clean distclean install uninstall
54
.PHONY:	all clean distclean install uninstall
55
55
56
.POSIX:
56
.POSIX:
57
57
58
icd-main.o:	icd-main.cpp inotify-cxx.h incrontab.h usertable.h
58
icd-main.o:	icd-main.cpp inotify-cxx.h incrontab.h usertable.h
59
incrontab.o:	incrontab.cpp incrontab.h inotify-cxx.h strtok.h
59
incrontab.o:	incrontab.cpp incrontab.h inotify-cxx.h strtok.h
60
inotify-cxx.o:	inotify-cxx.cpp inotify-cxx.h
60
inotify-cxx.o:	inotify-cxx.cpp inotify-cxx.h
61
usertable.o:	usertable.cpp usertable.h strtok.h
61
usertable.o:	usertable.cpp usertable.h strtok.h
62
ict-main.o:	ict-main.cpp incrontab.h
62
ict-main.o:	ict-main.cpp incrontab.h
63
strtok.o:	strtok.cpp strtok.h
63
strtok.o:	strtok.cpp strtok.h