-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
97 lines (82 loc) · 2.33 KB
/
Makefile
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
# Simple Batch System
IROOT=${DESTDIR}
# Directories
PREFIX=/home/sbs
BIN_DIR=${PREFIX}/usr/bin
SBIN_DIR=${PREFIX}/usr/sbin
SBS_QUEUE_DIR=${PREFIX}/var/spool/sbs
RUN_DIR=${PREFIX}/run/
PERM_PATH=${PREFIX}/etc/sbs/
CRON_D_PATH=${PREFIX}/etc/cron.d
INIT_DIR=${PREFIX}/etc/init.d
DAEMON_USERNAME=daemon
DAEMON_GROUPNAME=daemon
MAIL=/usr/sbin/sendmail
# Definitions
DEFS= \
-DPAM=1 \
-D_GNU_SOURCE=1 \
-DMAIL_CMD=\"${MAIL}\" \
-DPERM_PATH=\"${PERM_PATH}\" \
-DSBIN_DIR=\"${SBIN_DIR}\" \
-DSBS_QUEUE_DIR=\"${SBS_QUEUE_DIR}\" \
-DRUN_DIR=\"${RUN_DIR}\" \
-DDAEMON_USERNAME=\"${DAEMON_USERNAME}\" \
-DDAEMON_GROUPNAME=\"${DAEMON_GROUPNAME}\"
CC=gcc
CXX=g++
WARN=-Wall -Werror -W -Wunused
OPT=-O3 -fomit-frame-pointer -fexpensive-optimizations \
-ffunction-sections -fdata-sections
STRIP=-s
LD=$(CC) $(STRIP)
CFLAGS=$(STRIP) $(OPT) $(DEFS) -I. $(WARN)
LDFLAGS= -L. -lsbs -lpam $(STRIP)
ARFLAGS=rv
all: progs
PROGS= sbsd sbs sbs-list-queues
SCRIPTS= sbs-clear-queue
progs: $(PROGS) $(SCRIPTS)
LIBSBS_O=privs.o q.o perm.o msg.o pqueue.o
libsbs.a: $(LIBSBS_O)
$(AR) rv $@ $(LIBSBS_O)
SBSD_O=sbsd.o
sbsd: $(SBSD_O) libsbs.a
$(LD) -o $@ $(SBSD_O) $(LDFLAGS)
SBS_O=sbs.o
sbs: $(SBS_O) libsbs.a
$(LD) -o $@ $(SBS_O) $(LDFLAGS)
sbs-list-queues: sbs-list-queues.in
cat $< | sed s^SBS_CFG_PATH_IN^SBS_CFG_PATH\=\"${PERM_PATH}\"^ >$@
chmod +x $@
clean:
-$(RM) *.o $(PROGS) sbs.cron libsbs.a pqueue
install: all
mkdir -p ${IROOT}/${BIN_DIR}
# sbs + sbs-clear-queue
install -m 06755 -g ${DAEMON_GROUPNAME} -o ${DAEMON_USERNAME} \
sbs ${IROOT}/${BIN_DIR}
install sbs-clear-queue ${IROOT}/${BIN_DIR}
install sbs-list-queues ${IROOT}/${BIN_DIR}
# sbsd
mkdir -p ${IROOT}/${SBIN_DIR}
install -m 0755 -g root -o root sbsd ${IROOT}/${SBIN_DIR}
install -m 0755 -g root -o root sbsd-systemd-helper ${IROOT}/${SBIN_DIR}
mkdir -p ${IROOT}/${RUN_DIR}
# spool directory
mkdir -p ${IROOT}/${SBS_QUEUE_DIR}
chown daemon.daemon ${IROOT}/${SBS_QUEUE_DIR}
# etc sbs.deny
mkdir -p ${IROOT}/${PERM_PATH}
touch ${IROOT}/${PERM_PATH}/sbs.deny
chown root.daemon ${IROOT}/${PERM_PATH}/sbs.deny
chmod 0640 ${IROOT}/${PERM_PATH}/sbs.deny
for i in *.conf; do \
install -m 0644 -o root -g root $$i ${IROOT}/${PERM_PATH}; \
done
# init.d
mkdir -p ${IROOT}/${INIT_DIR}
install -m 0755 -g root -o root sbs.init ${IROOT}/${INIT_DIR}/sbs
# systemd files
distclean: clean
-$(RM) *~