File: Makefile

package info (click to toggle)
postfix-policyd 1.80-2.1
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 520 kB
  • ctags: 218
  • sloc: ansic: 3,858; sql: 270; sh: 251; makefile: 129
file content (99 lines) | stat: -rw-r--r-- 2,788 bytes parent folder | download | duplicates (3)
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
#
# systems which install in /usr
inc  = -I /usr/include/mysql
lib  = -L /usr/lib/mysql -L /usr/lib64/mysql
# systems with single mysql subdir
inc += -I /usr/local/mysql/include -I /usr/local/mysql/include/mysql
lib += -L /usr/local/mysql/lib -L /usr/local/mysql/lib/mysql
# freebsd ports
inc += -I /usr/local/include/mysql
lib += -L /usr/local/lib/mysql
# netbsd pkgsrc
inc += -I /usr/pkg/include/mysql
lib += -L /usr/pkg/lib/mysql
# os x
lib += -L /usr/local/mysql


CC       := gcc
CPPFLAGS := -O $(inc)
CFLAGS   := -g -W -Wall -DMAXFDS=4096
OS_NAME  := $(shell uname | tr [A-Z] [a-z])
LDLIBS    = $(lib) -lmysqlclient -lz

ifeq "${OS_NAME}" "sunos"
LDLIBS   += -lsocket -lnsl -lm
endif

.c.o:
	@echo "  compiling ${CFLAGS} $<"
	@${CC} ${CPPFLAGS} ${CFLAGS} -o $@ -c $<

all:
	@echo ""
	@echo "Possible options are:"
	@echo ""
	@echo "  make build"
	@echo "  make install | install-strip"
	@echo "  make upgrade"
	@echo "  make clean"
	@echo ""
	@exit

build: policyd_banner policyd_start policyd cleanup stats

linux: all
solaris: all
freebsd: all

policyd: syslog.o policyd.o generic.o mysql.o greylist.o throttle.o sockets.o cidr.o spamtrap.o blacklist.o blacklist_helo.o \
	whitelist.o throttle_host.o throttle_sasl.o throttle_from.o throttle_rcpt.o helo.o
	@echo ""
	@echo "[*] Linking policyd*"
	@$(CC) $(CFLAGS) $(CPPFLAGS) \
	syslog.o policyd.o generic.o mysql.o greylist.o throttle.o sockets.o cidr.o spamtrap.o blacklist.o blacklist_helo.o \
	whitelist.o throttle_host.o throttle_sasl.o throttle_from.o throttle_rcpt.o helo.o \
	$(LDLIBS) -o policyd

cleanup: syslog.o cidr.o cleanup.o generic.o sockets.o mysql.o
	@echo "[*] Linking cleanup*"
	@$(CC) $(CFLAGS) $(CPPFLAGS) \
	syslog.o cidr.o cleanup.o generic.o sockets.o mysql.o \
	$(LDLIBS) -o cleanup

stats: cidr.o syslog.o stats.o generic.o sockets.o mysql.o
	@echo "[*] Linking stats*"
	@$(CC) $(CFLAGS) $(CPPFLAGS) \
	cidr.o syslog.o stats.o generic.o sockets.o mysql.o \
	$(LDLIBS) -o stats
	@echo ""

policyd_start: blacklist.o blacklist_helo.o cidr.o cleanup.o \
	generic.o greylist.o helo.o mysql.o policyd.o sockets.o \
	spamtrap.o stats.o syslog.o throttle.o throttle_from.o \
	throttle_host.o throttle_rcpt.o throttle_sasl.o whitelist.o

policyd_banner:
	@echo ""
	@echo "[-] Building Policy Daemon:"
	@echo ""
	@echo "[*] Building Objects:"
	@echo ""

clean:
	rm -f *.o core policyd cleanup stats

install: policyd cleanup stats
	mkdir -p /usr/local/policyd
	cp -f stats cleanup policyd /usr/local/policyd
	cp -i policyd.conf /usr/local/policyd

upgrade: policyd cleanup stats
	cp -f stats cleanup policyd /usr/local/policyd

install-strip: policyd cleanup stats
	mkdir -p /usr/local/policyd
	strip stats cleanup policyd
	cp -f stats cleanup policyd /usr/local/policyd
	cp -i policyd.conf /usr/local/policyd