File: Makefile

package info (click to toggle)
incron 0.5.9-5
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,356 kB
  • ctags: 1,766
  • sloc: cpp: 3,031; makefile: 106; sh: 80
file content (120 lines) | stat: -rw-r--r-- 3,311 bytes parent folder | download
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

PREFIX = /usr/local
USERDATADIR = /var/spool/incron
SYSDATADIR = /etc/incron.d
CFGDIR = /etc
MANPATH = /usr/share/man
RELEASE = incron-`cat VERSION`
RELEASEDIR = /tmp/$(RELEASE)

USER = root

CXX = g++
INSTALL = install

OPTIMIZE = -O2
DEBUG = -g0
WARNINGS = -Wall
CXXAUX = -pipe

CXXFLAGS = $(OPTIMIZE) $(DEBUG) $(WARNINGS) $(CXXAUX)
LDFLAGS = $(WARNINGS)

PROGRAMS = incrond incrontab

INCROND_OBJ = icd-main.o incrontab.o inotify-cxx.o usertable.o strtok.o appinst.o incroncfg.o appargs.o
INCRONTAB_OBJ = ict-main.o incrontab.o inotify-cxx.o strtok.o incroncfg.o appargs.o


all:	$(PROGRAMS)

incrond:	$(INCROND_OBJ)
	$(CXX) $(LDFLAGS) -o $@ $(INCROND_OBJ)

incrontab:	$(INCRONTAB_OBJ)
	$(CXX) $(LDFLAGS) -o $@ $(INCRONTAB_OBJ)

.cpp.o:
	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<

clean:
	rm -f $(PROGRAMS)
	rm -f *.o

distclean: clean

install:	all install-man
	[ -d $(PREFIX) ]
	$(INSTALL) -m 04755 -o $(USER) incrontab $(PREFIX)/bin/
	$(INSTALL) -m 0755 incrond $(PREFIX)/sbin/
	$(INSTALL) -m 0755 -o $(USER) -d $(USERDATADIR)
	$(INSTALL) -m 0755 -o $(USER) -d $(SYSDATADIR)
	$(INSTALL) -m 0644 -o $(USER) incron.conf.example $(CFGDIR)

install-man:	incrontab.1 incrontab.5 incrond.8 incron.conf.5
	$(INSTALL) -m 0755 -d $(MANPATH)/man1
	$(INSTALL) -m 0755 -d $(MANPATH)/man5
	$(INSTALL) -m 0755 -d $(MANPATH)/man8
	$(INSTALL) -m 0644 incrontab.1 $(MANPATH)/man1
	$(INSTALL) -m 0644 incrontab.5 $(MANPATH)/man5
	$(INSTALL) -m 0644 incrond.8 $(MANPATH)/man8
	$(INSTALL) -m 0644 incron.conf.5 $(MANPATH)/man5

uninstall:	uninstall-man
	[ -d $(PREFIX) ]
	rm -f $(PREFIX)/bin/incrontab
	rm -f $(PREFIX)/sbin/incrond
	rm -f $(CFGDIR)/incron.conf.example

uninstall-man:
	rm -f $(MANPATH)/man1/incrontab.1
	rm -f $(MANPATH)/man5/incrontab.5
	rm -f $(MANPATH)/man8/incrond.8
	rm -f $(MANPATH)/man5/incron.conf.5

update:		uninstall install

release:
	doxygen
	mkdir -p $(RELEASEDIR)
	cp -r doc $(RELEASEDIR)
	cp *.h $(RELEASEDIR)
	cp *.cpp $(RELEASEDIR)
	cp incron.conf.example $(RELEASEDIR)
	cp Makefile CHANGELOG COPYING LICENSE-GPL LICENSE-LGPL LICENSE-X11 README TODO VERSION $(RELEASEDIR)
	cp incrond.8 incrontab.1 incrontab.5 incron.conf.5 $(RELEASEDIR)
	tar -c -f $(RELEASE).tar -C $(RELEASEDIR)/.. $(RELEASE)
	bzip2 -9 $(RELEASE).tar
	tar -c -f $(RELEASE).tar -C $(RELEASEDIR)/.. $(RELEASE)
	gzip --best $(RELEASE).tar
	echo #!/bin/sh > myzip
	echo cd $(RELEASEDIR)/.. >> myzip
	echo zip -r -9 `pwd`/$(RELEASE).zip $(RELEASE) >> myzip
	chmod 0700 myzip
	./myzip
	rm -f myzip
	sha1sum $(RELEASE).tar.bz2 > sha1.txt
	sha1sum $(RELEASE).tar.gz >> sha1.txt
	sha1sum $(RELEASE).zip >> sha1.txt
	rm -rf $(RELEASEDIR)

release-clean:
	rm -rf doc
	rm -f $(RELEASE).tar.bz2
	rm -f $(RELEASE).tar.gz
	rm -f $(RELEASE).zip
	rm -f sha1.txt

.PHONY:	all clean distclean install install-man uninstall uninstall-man release release-clean update

.POSIX:

icd-main.o:	icd-main.cpp inotify-cxx.h incrontab.h usertable.h incron.h appinst.h incroncfg.h appargs.h
incrontab.o:	incrontab.cpp incrontab.h inotify-cxx.h strtok.h
inotify-cxx.o:	inotify-cxx.cpp inotify-cxx.h
usertable.o:	usertable.cpp usertable.h strtok.h
ict-main.o:	ict-main.cpp incrontab.h incron.h incroncfg.h appargs.h
strtok.o:	strtok.cpp strtok.h
appinst.o:	appinst.cpp appinst.h
incroncfg.o:	incroncfg.cpp incroncfg.h
appargs.o:	appargs.cpp appargs.h