1 #
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
6 #
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
10 #
11
12 #
13 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
14 # Copyright 2014 Alexander Pyhalov
15 # Copyright (c) 2018, Joyent, Inc.
16 #
17
18
19 LIBPROG= mailwrapper
20
21 PROG= $(LIBPROG)
22
23 include ../Makefile.cmd
24
25 MWOBJS= fgetln.o fparseln.o mailwrapper.o
26
27 CLOBBERFILES= $(PROG)
28 CLEANFILES= $(MWOBJS)
29
30 SRCS= $(MWOBJS:%.o=%.c)
31
32 CPROG= mailwrapper
33 CPROGSRC= $(CPROG:%=_%.c)
34
35 CFS= mailer.conf
36
37 ROOTETCFILES=$(CFS:%=$(ROOTETC)/%)
38
39 $(ROOTETCFILES) := FILEMODE = 0644
40
41 # installed modules
42 ROOTLIBPROG= $(LIBPROG:%=$(ROOTLIB)/%)
43
44 ROOTSYMLINKS= $(ROOTBIN)/mailq \
45 $(ROOTLIB)/sendmail \
46 $(ROOTUSRSBIN)/newaliases \
47 $(ROOTUSRSBIN)/sendmail
48
49 CPPFLAGS = -I. $(CPPFLAGS.master)
50
51 LINTFLAGS += -erroff=E_FUNC_RET_ALWAYS_IGNOR2
52
53 SMOFF += all_func_returns
54
55 # conditional assignments
56 #
57 all:= TARGET= all
58 install:= TARGET= install
59 clean:= TARGET= clean
60 clobber:= TARGET= clobber
61 lint:= TARGET= lint
62
63 # install rules
64 $(ROOTINC)/% : %
65 $(INS.file)
66
67 .KEEP_STATE:
68
69 .PARALLEL: $(MWOBJS) $(OBJS)
70
71 all: $(PROG)
72
73 mailwrapper: $(MWOBJS)
74 $(LINK.c) -o $@ $(MWOBJS) $(LDLIBS)
75 $(POST_PROCESS)
76
77 install: all .WAIT $(ROOTLIBPROG) $(ROOTSYMLINKS) $(ROOTETCFILES)
78
79 # ROOTSYMLINKS
80 #
81 $(ROOTBIN)/mailq:
82 $(RM) $@; $(SYMLINK) ../lib/mailwrapper $@
83
84 $(ROOTLIB)/sendmail:
85 $(RM) $@; $(SYMLINK) mailwrapper $@
86
87 $(ROOTUSRSBIN)/newaliases:
88 $(RM) $@; $(SYMLINK) ../lib/mailwrapper $@
89
90 $(ROOTUSRSBIN)/sendmail:
91 $(RM) $@; $(SYMLINK) ../lib/mailwrapper $@
92
93 $(ROOTETCMAIL)/%: %
94 $(INS.file)
95
96 lint:
97 $(LINT.c) $(SRCS)
98
99 clean:
100 $(RM) $(OBJS) $(MWOBJS) mailwrapper
101
102 clobber: clean
103 $(RM) $(ROOTSYMLINKS) $(ROOTLIBPROG) $(ROOTETCFILES)