]> git.ipfire.org Git - thirdparty/util-linux.git/blob - login-utils/Makefile
Imported from util-linux-2.7.1 tarball.
[thirdparty/util-linux.git] / login-utils / Makefile
1 # Makefile -- Makefile for util-linux Linux utilities
2 # Created: Sat Dec 26 20:09:40 1992
3 # Revised: Sun Nov 10 20:28:43 1996 by faith@cs.unc.edu
4 # Copyright 1992, 1993, 1994, 1995 Rickard E. Faith (faith@cs.unc.edu)
5 #
6 # Suggested changed from Bauke Jan Douma <bjdouma@xs4all.nl> have been
7 # implemented to handle shadow and sysvinit systems
8
9 include ../MCONFIG
10
11 # Where to put man pages?
12
13 MAN1.MISC= last.1 mesg.1 wall.1
14
15 MAN1.PUTILS= chfn.1 chsh.1 login.1 newgrp.1
16 MAN1.PASSWD= passwd.1
17
18 MAN8.GETTY= agetty.8
19
20 MAN8.INIT= fastboot.8 fasthalt.8 halt.8 reboot.8 simpleinit.8 shutdown.8
21
22 MAN8.PUTILS= vipw.8 vigr.8
23
24 # Where to put binaries?
25 # See the "install" rule for the links. . .
26
27 SBIN.GETTY= agetty
28
29 SBIN.INIT= simpleinit shutdown
30
31 BIN.PUTILS= login
32
33 USRBIN.MISC= last mesg wall
34
35 USRBIN.PUTILS= chfn chsh newgrp
36 USRBIN.PASSWD= passwd
37
38 USRSBIN.PUTILS= vipw
39
40 ifeq "$(HAVE_LIBCRYPT)" "yes"
41 CRYPT=-lcrypt
42 endif
43
44 ifeq "$(HAVE_PAM)" "yes"
45 PAM=-lpam -ldl -lpam_misc
46 PAMFL=-DUSE_PAM=1
47 endif
48
49 ifeq "$(HAVE_SHADOW)" "no"
50 ifeq "$(HAVE_PAM)" "no"
51 ifeq "$(HAVE_PASSWD)" "no"
52 WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-passwd all-putils
53 WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-passwd install-putils
54 endif
55 else
56 WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-putils
57 WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-putils
58 endif
59 endif
60
61 ifeq "$(HAVE_SYSVINIT)" "no"
62 WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-init
63 WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-init
64 endif
65
66 ifeq "$(HAVE_SYSVINIT_UTILS)" "no"
67 WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-misc
68 WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-misc
69 endif
70
71 ifeq "$(HAVE_GETTY)" "no"
72 WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-getty
73 WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-getty
74 endif
75
76 all: $(WHAT_TO_BUILD)
77 all-passwd: $(USRBIN.PASSWD)
78 all-putils: $(BIN.PUTILS) $(USRBIN.PUTILS) $(USRSBIN.PUTILS)
79 all-init: $(SBIN.INIT)
80 all-getty: $(SBIN.GETTY)
81 all-misc: $(USRBIN.MISC)
82
83 # Rules for everything else
84
85 agetty.o: $(BSD)/pathnames.h
86 agetty: agetty.o
87 chfn: chfn.o islocal.o setpwnam.o
88 $(CC) -o $@ $^ $(CRYPT) $(PAM)
89 chsh: chsh.o islocal.o setpwnam.o
90 $(CC) -o $@ $^ $(CRYPT) $(PAM)
91 islocal.o: $(BSD)/pathnames.h
92 last.o: $(BSD)/pathnames.h
93 last: last.o $(BSD)/getopt.o
94
95 ifeq "$(HAVE_PAM)" "yes"
96 login: login.o
97 $(CC) -o $@ $^ $(CRYPT) $(PAM)
98 else
99 login: login.o checktty.o
100 $(CC) -o $@ $^ $(CRYPT)
101 endif
102
103 mesg: mesg.o $(BSD)/getopt.o $(BSD)/err.o
104 newgrp: newgrp.o
105 $(CC) -o $@ $^ $(CRYPT) $(PAM)
106 setpwnam.o: $(BSD)/pathnames.h
107 shutdown.o: $(BSD)/pathnames.h
108 shutdown: shutdown.o
109 simpleinit.o: $(BSD)/pathnames.h
110 simpleinit: simpleinit.o $(CRYPT)
111 vipw.o: $(BSD)/pathnames.h
112 vipw: vipw.o
113
114 newgrp.o: $(BSD)/pathnames.h
115 $(CC) -c $(CFLAGS) $(PAMFL) newgrp.c
116
117 wall: wall.o ttymsg.o
118
119 ifeq "$(USE_TTY_GROUP)" "yes"
120 login.o: login.c $(BSD)/pathnames.h
121 $(CC) -c $(CFLAGS) $(PAMFL) -DUSE_TTY_GROUP login.c
122 mesg.o: mesg.c $(BSD)/err.h
123 $(CC) -c $(CFLAGS) -DUSE_TTY_GROUP mesg.c
124 else
125 login.o: $(BSD)/pathnames.h
126 $(CC) -c $(CFLAGS) $(PAMFL) login.c
127 mesg.o: $(BSD)/err.h
128 endif
129
130 passwd: passwd.o islocal.o setpwnam.o $(CRYPT)
131 passwd.o: passwd.c
132 $(CC) -c $(CFLAGS) passwd.c
133
134 ifeq "$(REQUIRE_PASSWORD)" "yes"
135 CHSH_FLAGS:=$(CHSH_FLAGS) -DREQUIRE_PASSWORD
136 endif
137
138 ifeq "$(ONLY_LISTED_SHELLS)" "yes"
139 CHSH_FLAGS:=$(CHSH_FLAGS) -DONLY_LISTED_SHELLS
140 endif
141
142 chsh.o: chsh.c
143 $(CC) -c $(CFLAGS) $(PAMFL) $(CHSH_FLAGS) chsh.c
144
145 chfn.o: chfn.c
146 $(CC) -c $(CFLAGS) $(PAMFL) $(CHSH_FLAGS) chfn.c
147
148 install: all $(WHAT_TO_INSTALL)
149
150 install-putils: $(BIN.PUTILS) $(USRBIN.PUTILS) $(USRSBIN.PUTILS)
151 $(INSTALLDIR) $(BINDIR) $(USRBINDIR) $(USRSBINDIR)
152 $(INSTALLSUID) $(BIN.PUTILS) $(BINDIR)
153 $(INSTALLSUID) $(USRBIN.PUTILS) $(USRBINDIR)
154 $(INSTALLBIN) $(USRSBIN.PUTILS) $(USRSBINDIR)
155 (cd $(USRSBINDIR); ln -sf vipw vigr)
156 $(INSTALLDIR) $(MAN1DIR) $(MAN8DIR)
157 $(INSTALLMAN) $(MAN1.PUTILS) $(MAN1DIR)
158 $(INSTALLMAN) $(MAN8.PUTILS) $(MAN8DIR)
159
160 install-passwd: $(USRBIN.PASSWD)
161 $(INSTALLDIR) $(USRBINDIR)
162 $(INSTALLSUID) $(USRBIN.PASSWD) $(USRBINDIR)
163 $(INSTALLDIR) $(MAN1DIR)
164 $(INSTALLMAN) $(MAN1.PASSWD) $(MAN1DIR)
165
166 install-init: $(SBIN.INIT)
167 $(INSTALLDIR) $(SBINDIR)
168 $(INSTALLBIN) $(SBIN.INIT) $(SBINDIR)
169 $(INSTALLDIR) $(MAN8DIR)
170 $(INSTALLMAN) $(MAN8.INIT) $(MAN8DIR)
171 # Make *relative* links for these
172 (cd $(SHUTDOWNDIR); ln -sf shutdown reboot)
173 (cd $(SHUTDOWNDIR); ln -sf shutdown fastboot)
174 (cd $(SHUTDOWNDIR); ln -sf shutdown halt)
175 (cd $(SHUTDOWNDIR); ln -sf shutdown fasthalt)
176
177
178 install-getty: $(SBIN.GETTY)
179 $(INSTALLDIR) $(SBINDIR)
180 $(INSTALLBIN) $(SBIN.GETTY) $(SBINDIR)
181 $(INSTALLDIR) $(MAN8DIR)
182 $(INSTALLMAN) $(MAN8.GETTY) $(MAN8DIR)
183
184 install-misc: $(USRBIN.MISC)
185 $(INSTALLDIR) $(USRBINDIR)
186 $(INSTALLBIN) $(USRBIN.MISC) $(USRBINDIR)
187 $(INSTALLDIR) $(MAN1DIR)
188 $(INSTALLMAN) $(MAN1.MISC) $(MAN1DIR)
189 ifeq "$(USE_TTY_GROUP)" "yes"
190 chgrp tty $(USRBINDIR)/wall
191 chmod g+s $(USRBINDIR)/wall
192 endif
193
194 .PHONY: clean
195 clean:
196 -rm -f *.o *~ core $(BIN.PASSWD) $(SBIN.GETTY) $(SBIN.INIT) \
197 $(USRBIN.MISC) $(USRBIN.PASSWD) $(USRBIN.PUTILS) \
198 $(USRSBIN.PUTILS) $(BIN.PUTILS)