]> git.ipfire.org Git - thirdparty/util-linux.git/blame - login-utils/Makefile
Imported from util-linux-2.10s tarball.
[thirdparty/util-linux.git] / login-utils / Makefile
CommitLineData
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 9include ../make_include
6dbe3af9
KZ
10include ../MCONFIG
11
12# Where to put man pages?
13
726f69e2 14MAN1.MISC= last.1 mesg.1 wall.1
6dbe3af9 15
726f69e2
KZ
16MAN1.PUTILS= chfn.1 chsh.1 login.1 newgrp.1
17MAN1.PASSWD= passwd.1
6dbe3af9 18
726f69e2 19MAN8.GETTY= agetty.8
6dbe3af9 20
22853e4a 21MAN8.INIT= fastboot.8 fasthalt.8 halt.8 reboot.8 simpleinit.8 shutdown.8 \
66ee8158 22 initctl.8
726f69e2 23
fd6b7a7f 24MAN8.PUTILS= vipw.8 vigr.8
6dbe3af9
KZ
25
26# Where to put binaries?
27# See the "install" rule for the links. . .
28
726f69e2 29SBIN.GETTY= agetty
6dbe3af9 30
66ee8158 31SBIN.INIT= simpleinit shutdown initctl
6dbe3af9 32
726f69e2 33BIN.PUTILS= login
6dbe3af9 34
726f69e2 35USRBIN.MISC= last mesg wall
6dbe3af9 36
726f69e2
KZ
37USRBIN.PUTILS= chfn chsh newgrp
38USRBIN.PASSWD= passwd
6dbe3af9 39
726f69e2 40USRSBIN.PUTILS= vipw
6dbe3af9 41
7eda085c 42ifeq "$(NEED_LIBCRYPT)" "yes"
fd6b7a7f
KZ
43CRYPT=-lcrypt
44endif
45
46ifeq "$(HAVE_PAM)" "yes"
47PAM=-lpam -ldl -lpam_misc
48PAMFL=-DUSE_PAM=1
49endif
50
6dbe3af9 51ifeq "$(HAVE_SHADOW)" "no"
fd6b7a7f 52ifeq "$(HAVE_PAM)" "no"
726f69e2
KZ
53ifeq "$(HAVE_PASSWD)" "no"
54WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-passwd all-putils
55WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-passwd install-putils
fd6b7a7f 56endif
726f69e2
KZ
57else
58WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-putils
59WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-putils
60endif
6dbe3af9
KZ
61endif
62
63ifeq "$(HAVE_SYSVINIT)" "no"
726f69e2
KZ
64WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-init
65WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-init
6dbe3af9
KZ
66endif
67
726f69e2
KZ
68ifeq "$(HAVE_SYSVINIT_UTILS)" "no"
69WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-misc
70WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-misc
71endif
6dbe3af9 72
726f69e2
KZ
73ifeq "$(HAVE_GETTY)" "no"
74WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-getty
75WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-getty
76endif
77
78all: $(WHAT_TO_BUILD)
79all-passwd: $(USRBIN.PASSWD)
80all-putils: $(BIN.PUTILS) $(USRBIN.PUTILS) $(USRSBIN.PUTILS)
81all-init: $(SBIN.INIT)
82all-getty: $(SBIN.GETTY)
83all-misc: $(USRBIN.MISC)
6dbe3af9
KZ
84
85# Rules for everything else
86
66ee8158
KZ
87checktty.o login.o: login.h
88cryptocard.o login.o: cryptocard.h
89chfn.o chsh.o islocal.o passwd.o: islocal.h
90chfn.o chsh.o passwd.o setpwnam.o vipw.o: setpwnam.h
91chfn.o chsh.o login.o newgrp.o passwd.o simpleinit.o: my_crypt.h
92initctl.o simpleinit.o: simpleinit.h
93agetty.o islocal.o last.o setpwnam.o shutdown.o simpleinit.o \
94 vipw.o: $(LIB)/pathnames.h
95shutdown.o simpleinit.o: $(LIB)/linux_reboot.h
96wall.o: ttymsg.h $(LIB)/carefulputc.h
97
6dbe3af9 98agetty: agetty.o
7eda085c 99chfn: chfn.o islocal.o setpwnam.o $(LIB)/env.o
5c36a0eb 100 $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) $(PAM)
7eda085c 101chsh: chsh.o islocal.o setpwnam.o $(LIB)/env.o
5c36a0eb 102 $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) $(PAM)
5c36a0eb 103last: last.o
fd6b7a7f
KZ
104
105ifeq "$(HAVE_PAM)" "yes"
5c36a0eb
KZ
106login: login.o $(LIB)/setproctitle.o
107 $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) $(PAM)
fd6b7a7f 108else
5c36a0eb
KZ
109login: login.o $(LIB)/setproctitle.o checktty.o
110 $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT)
fd6b7a7f
KZ
111endif
112
5c36a0eb 113mesg: mesg.o $(ERR_O)
7eda085c 114
fd6b7a7f 115newgrp: newgrp.o
5c36a0eb 116 $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) $(PAM)
7eda085c 117
5c36a0eb 118shutdown: shutdown.o $(LIB)/my_reboot.o
22853e4a 119
5c36a0eb 120simpleinit: simpleinit.o $(LIB)/my_reboot.o
7eda085c
KZ
121 $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT)
122
66ee8158 123initctl: initctl.o
22853e4a
KZ
124 $(CC) $(LDFLAGS) -o $@ $^
125
6dbe3af9 126vipw: vipw.o
fd6b7a7f 127
5c36a0eb 128newgrp.o: $(LIB)/pathnames.h
fd6b7a7f
KZ
129 $(CC) -c $(CFLAGS) $(PAMFL) newgrp.c
130
66ee8158 131wall: wall.o ttymsg.o $(LIB)/carefulputc.o
6dbe3af9 132
66ee8158 133LOGINFLAGS=
726f69e2 134ifeq "$(USE_TTY_GROUP)" "yes"
66ee8158
KZ
135 LOGINFLAGS += -DUSE_TTY_GROUP
136endif
137ifeq "$(ALLOW_VCS_USE)" "yes"
138 LOGINFLAGS += -DCHOWNVCS
139endif
140
5c36a0eb 141login.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 145mesg.o: mesg.c $(LIB)/errs.h
66ee8158 146 $(CC) -c $(CFLAGS) $(LOGINFLAGS) mesg.c
726f69e2 147
7eda085c 148passwd: passwd.o islocal.o setpwnam.o $(LIB)/env.o
5c36a0eb 149 $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT)
726f69e2
KZ
150
151ifeq "$(REQUIRE_PASSWORD)" "yes"
152CHSH_FLAGS:=$(CHSH_FLAGS) -DREQUIRE_PASSWORD
153endif
154
155ifeq "$(ONLY_LISTED_SHELLS)" "yes"
156CHSH_FLAGS:=$(CHSH_FLAGS) -DONLY_LISTED_SHELLS
157endif
158
159chsh.o: chsh.c
fd6b7a7f 160 $(CC) -c $(CFLAGS) $(PAMFL) $(CHSH_FLAGS) chsh.c
726f69e2
KZ
161
162chfn.o: chfn.c
fd6b7a7f 163 $(CC) -c $(CFLAGS) $(PAMFL) $(CHSH_FLAGS) chfn.c
726f69e2 164
6dbe3af9
KZ
165install: all $(WHAT_TO_INSTALL)
166
726f69e2
KZ
167install-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
177install-passwd: $(USRBIN.PASSWD)
178 $(INSTALLDIR) $(USRBINDIR)
179 $(INSTALLSUID) $(USRBIN.PASSWD) $(USRBINDIR)
180 $(INSTALLDIR) $(MAN1DIR)
181 $(INSTALLMAN) $(MAN1.PASSWD) $(MAN1DIR)
182
183install-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
201install-getty: $(SBIN.GETTY)
202 $(INSTALLDIR) $(SBINDIR)
203 $(INSTALLBIN) $(SBIN.GETTY) $(SBINDIR)
204 $(INSTALLDIR) $(MAN8DIR)
205 $(INSTALLMAN) $(MAN8.GETTY) $(MAN8DIR)
206
207install-misc: $(USRBIN.MISC)
208 $(INSTALLDIR) $(USRBINDIR)
209 $(INSTALLBIN) $(USRBIN.MISC) $(USRBINDIR)
210 $(INSTALLDIR) $(MAN1DIR)
211 $(INSTALLMAN) $(MAN1.MISC) $(MAN1DIR)
212ifeq "$(USE_TTY_GROUP)" "yes"
213 chgrp tty $(USRBINDIR)/wall
214 chmod g+s $(USRBINDIR)/wall
215endif
6dbe3af9
KZ
216
217.PHONY: clean
218clean:
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)