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)
6 # Suggested changed from Bauke Jan Douma <bjdouma@xs4all.nl> have been
7 # implemented to handle shadow and sysvinit systems
11 # Where to put man pages?
13 MAN1.MISC
= last
.1 mesg
.1 wall
.1
15 MAN1.PUTILS
= chfn
.1 chsh
.1 login
.1 newgrp
.1
20 MAN8.INIT
= fastboot
.8 fasthalt
.8 halt
.8 reboot
.8 simpleinit
.8 shutdown
.8
22 MAN8.PUTILS
= vipw
.8 vigr
.8
24 # Where to put binaries?
25 # See the "install" rule for the links. . .
29 SBIN.INIT
= simpleinit shutdown
33 USRBIN.MISC
= last mesg wall
35 USRBIN.PUTILS
= chfn chsh newgrp
40 ifeq "$(HAVE_LIBCRYPT)" "yes"
44 ifeq "$(HAVE_PAM)" "yes"
45 PAM
=-lpam
-ldl
-lpam_misc
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
56 WHAT_TO_BUILD
:=$(WHAT_TO_BUILD
) all-putils
57 WHAT_TO_INSTALL
:=$(WHAT_TO_INSTALL
) install-putils
61 ifeq "$(HAVE_SYSVINIT)" "no"
62 WHAT_TO_BUILD
:=$(WHAT_TO_BUILD
) all-init
63 WHAT_TO_INSTALL
:=$(WHAT_TO_INSTALL
) install-init
66 ifeq "$(HAVE_SYSVINIT_UTILS)" "no"
67 WHAT_TO_BUILD
:=$(WHAT_TO_BUILD
) all-misc
68 WHAT_TO_INSTALL
:=$(WHAT_TO_INSTALL
) install-misc
71 ifeq "$(HAVE_GETTY)" "no"
72 WHAT_TO_BUILD
:=$(WHAT_TO_BUILD
) all-getty
73 WHAT_TO_INSTALL
:=$(WHAT_TO_INSTALL
) install-getty
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
)
83 # Rules for everything else
85 agetty.o
: $(BSD
)/pathnames.h
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
95 ifeq "$(HAVE_PAM)" "yes"
97 $(CC
) -o
$@
$^
$(CRYPT
) $(PAM
)
99 login
: login.o checktty.o
100 $(CC
) -o
$@
$^
$(CRYPT
)
103 mesg
: mesg.o
$(BSD
)/getopt.o
$(BSD
)/err.o
105 $(CC
) -o
$@
$^
$(CRYPT
) $(PAM
)
106 setpwnam.o
: $(BSD
)/pathnames.h
107 shutdown.o
: $(BSD
)/pathnames.h
109 simpleinit.o
: $(BSD
)/pathnames.h
110 simpleinit
: simpleinit.o
$(CRYPT
)
111 vipw.o
: $(BSD
)/pathnames.h
114 newgrp.o
: $(BSD
)/pathnames.h
115 $(CC
) -c
$(CFLAGS
) $(PAMFL
) newgrp.c
117 wall
: wall.o ttymsg.o
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
125 login.o
: $(BSD
)/pathnames.h
126 $(CC
) -c
$(CFLAGS
) $(PAMFL
) login.c
130 passwd
: passwd.o islocal.o setpwnam.o
$(CRYPT
)
132 $(CC
) -c
$(CFLAGS
) passwd.c
134 ifeq "$(REQUIRE_PASSWORD)" "yes"
135 CHSH_FLAGS
:=$(CHSH_FLAGS
) -DREQUIRE_PASSWORD
138 ifeq "$(ONLY_LISTED_SHELLS)" "yes"
139 CHSH_FLAGS
:=$(CHSH_FLAGS
) -DONLY_LISTED_SHELLS
143 $(CC
) -c
$(CFLAGS
) $(PAMFL
) $(CHSH_FLAGS
) chsh.c
146 $(CC
) -c
$(CFLAGS
) $(PAMFL
) $(CHSH_FLAGS
) chfn.c
148 install: all $(WHAT_TO_INSTALL
)
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
)
160 install-passwd
: $(USRBIN.PASSWD
)
161 $(INSTALLDIR
) $(USRBINDIR
)
162 $(INSTALLSUID
) $(USRBIN.PASSWD
) $(USRBINDIR
)
163 $(INSTALLDIR
) $(MAN1DIR
)
164 $(INSTALLMAN
) $(MAN1.PASSWD
) $(MAN1DIR
)
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
)
178 install-getty
: $(SBIN.GETTY
)
179 $(INSTALLDIR
) $(SBINDIR
)
180 $(INSTALLBIN
) $(SBIN.GETTY
) $(SBINDIR
)
181 $(INSTALLDIR
) $(MAN8DIR
)
182 $(INSTALLMAN
) $(MAN8.GETTY
) $(MAN8DIR
)
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
196 -rm -f
*.o
*~ core
$(BIN.PASSWD
) $(SBIN.GETTY
) $(SBIN.INIT
) \
197 $(USRBIN.MISC
) $(USRBIN.PASSWD
) $(USRBIN.PUTILS
) \
198 $(USRSBIN.PUTILS
) $(BIN.PUTILS
)