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