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 changes from Bauke Jan Douma <bjdouma@xs4all.nl> have been
7 # implemented to handle shadow and sysvinit systems
9 include ..
/make_include
12 # Where to put man pages?
14 MAN1.MISC
= last
.1 mesg
.1 wall
.1
16 MAN1.PUTILS
= chfn
.1 chsh
.1 login
.1 newgrp
.1
21 MAN8.INIT
= fastboot
.8 fasthalt
.8 halt
.8 reboot
.8 simpleinit
.8 shutdown
.8 \
24 MAN8.PUTILS
= vipw
.8 vigr
.8
26 # Where to put binaries?
27 # See the "install" rule for the links. . .
31 SBIN.INIT
= simpleinit shutdown initctl
35 USRBIN.MISC
= last mesg wall
37 USRBIN.PUTILS
= chfn chsh newgrp
42 ifeq "$(NEED_LIBCRYPT)" "yes"
46 ifeq "$(HAVE_PAM)" "yes"
47 PAM
=-lpam
-ldl
-lpam_misc
51 ifeq "$(HAVE_SHADOW)" "no"
52 ifeq "$(HAVE_PAM)" "no"
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
58 WHAT_TO_BUILD
:=$(WHAT_TO_BUILD
) all-putils
59 WHAT_TO_INSTALL
:=$(WHAT_TO_INSTALL
) install-putils
63 ifeq "$(HAVE_SYSVINIT)" "no"
64 WHAT_TO_BUILD
:=$(WHAT_TO_BUILD
) all-init
65 WHAT_TO_INSTALL
:=$(WHAT_TO_INSTALL
) install-init
68 ifeq "$(HAVE_SYSVINIT_UTILS)" "no"
69 WHAT_TO_BUILD
:=$(WHAT_TO_BUILD
) all-misc
70 WHAT_TO_INSTALL
:=$(WHAT_TO_INSTALL
) install-misc
73 ifeq "$(HAVE_GETTY)" "no"
74 WHAT_TO_BUILD
:=$(WHAT_TO_BUILD
) all-getty
75 WHAT_TO_INSTALL
:=$(WHAT_TO_INSTALL
) install-getty
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
)
85 # Rules for everything else
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
99 chfn
: chfn.o islocal.o setpwnam.o
$(LIB
)/env.o
100 $(CC
) $(LDFLAGS
) -o
$@
$^
$(CRYPT
) $(PAM
)
101 chsh
: chsh.o islocal.o setpwnam.o
$(LIB
)/env.o
102 $(CC
) $(LDFLAGS
) -o
$@
$^
$(CRYPT
) $(PAM
)
105 ifeq "$(HAVE_PAM)" "yes"
106 login
: login.o
$(LIB
)/setproctitle.o
107 $(CC
) $(LDFLAGS
) -o
$@
$^
$(CRYPT
) $(PAM
)
109 login
: login.o
$(LIB
)/setproctitle.o checktty.o
110 $(CC
) $(LDFLAGS
) -o
$@
$^
$(CRYPT
)
113 mesg
: mesg.o
$(ERR_O
)
116 $(CC
) $(LDFLAGS
) -o
$@
$^
$(CRYPT
) $(PAM
)
118 shutdown
: shutdown.o
$(LIB
)/my_reboot.o
120 simpleinit
: simpleinit.o
$(LIB
)/my_reboot.o
121 $(CC
) $(LDFLAGS
) -o
$@
$^
$(CRYPT
)
124 $(CC
) $(LDFLAGS
) -o
$@
$^
128 newgrp.o
: $(LIB
)/pathnames.h
129 $(CC
) -c
$(CFLAGS
) $(PAMFL
) newgrp.c
131 wall
: wall.o ttymsg.o
$(LIB
)/carefulputc.o
134 ifeq "$(USE_TTY_GROUP)" "yes"
135 LOGINFLAGS
+= -DUSE_TTY_GROUP
137 ifeq "$(ALLOW_VCS_USE)" "yes"
138 LOGINFLAGS
+= -DCHOWNVCS
141 login.o
: login.c
$(LIB
)/pathnames.h
$(LIB
)/setproctitle.c
$(LIB
)/setproctitle.h
142 $(CC
) -c
$(CFLAGS
) $(PAMFL
) $(LOGINFLAGS
) login.c
144 # LOGINFLAGS here only for -DUSE_TTY_GROUP
145 mesg.o
: mesg.c
$(LIB
)/errs.h
146 $(CC
) -c
$(CFLAGS
) $(LOGINFLAGS
) mesg.c
148 passwd
: passwd.o islocal.o setpwnam.o
$(LIB
)/env.o
149 $(CC
) $(LDFLAGS
) -o
$@
$^
$(CRYPT
)
151 ifeq "$(REQUIRE_PASSWORD)" "yes"
152 CHSH_FLAGS
:=$(CHSH_FLAGS
) -DREQUIRE_PASSWORD
155 ifeq "$(ONLY_LISTED_SHELLS)" "yes"
156 CHSH_FLAGS
:=$(CHSH_FLAGS
) -DONLY_LISTED_SHELLS
160 $(CC
) -c
$(CFLAGS
) $(PAMFL
) $(CHSH_FLAGS
) chsh.c
163 $(CC
) -c
$(CFLAGS
) $(PAMFL
) $(CHSH_FLAGS
) chfn.c
165 install: all $(WHAT_TO_INSTALL
)
167 install-putils
: $(BIN.PUTILS
) $(USRBIN.PUTILS
) $(USRSBIN.PUTILS
)
168 $(INSTALLDIR
) $(BINDIR
) $(USRBINDIR
) $(USRSBINDIR
)
169 $(INSTALLBIN
) $(BIN.PUTILS
) $(BINDIR
)
170 $(INSTALLSUID
) $(USRBIN.PUTILS
) $(USRBINDIR
)
171 $(INSTALLBIN
) $(USRSBIN.PUTILS
) $(USRSBINDIR
)
172 (cd
$(USRSBINDIR
); ln
-sf vipw vigr
)
173 $(INSTALLDIR
) $(MAN1DIR
) $(MAN8DIR
)
174 $(INSTALLMAN
) $(MAN1.PUTILS
) $(MAN1DIR
)
175 $(INSTALLMAN
) $(MAN8.PUTILS
) $(MAN8DIR
)
177 install-passwd
: $(USRBIN.PASSWD
)
178 $(INSTALLDIR
) $(USRBINDIR
)
179 $(INSTALLSUID
) $(USRBIN.PASSWD
) $(USRBINDIR
)
180 $(INSTALLDIR
) $(MAN1DIR
)
181 $(INSTALLMAN
) $(MAN1.PASSWD
) $(MAN1DIR
)
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
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
)
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)
201 install-getty
: $(SBIN.GETTY
)
202 $(INSTALLDIR
) $(SBINDIR
)
203 $(INSTALLBIN
) $(SBIN.GETTY
) $(SBINDIR
)
204 $(INSTALLDIR
) $(MAN8DIR
)
205 $(INSTALLMAN
) $(MAN8.GETTY
) $(MAN8DIR
)
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
219 -rm -f
*.o
*~ core
$(BIN.PASSWD
) $(SBIN.GETTY
) $(SBIN.INIT
) \
220 $(USRBIN.MISC
) $(USRBIN.PASSWD
) $(USRBIN.PUTILS
) \
221 $(USRSBIN.PUTILS
) $(BIN.PUTILS
)