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