summaryrefslogtreecommitdiffstats
path: root/login-utils/Makefile
blob: 88e0b82209c0169bf6afe2b905b0f6331cc05517 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Makefile -- Makefile for util-linux Linux utilities
# Created: Sat Dec 26 20:09:40 1992
# Revised: Wed Feb 22 16:09:31 1995 by faith@cs.unc.edu
# Copyright 1992, 1993, 1994, 1995 Rickard E. Faith (faith@cs.unc.edu)
#
# Suggested changed from Bauke Jan Douma <bjdouma@xs4all.nl> have been
# implemented to handle shadow and sysvinit systems 

include ../MCONFIG

# Where to put man pages?

MAN1= 		last.1 mesg.1 wall.1

MAN1.NONSHADOW= chfn.1 chsh.1 login.1 newgrp.1 passwd.1

MAN8= 		agetty.8 fastboot.8 fasthalt.8 halt.8 reboot.8 simpleinit.8 \
		shutdown.8

MAN8.NONSHADOW= vipw.8

# Where to put binaries?
# See the "install" rule for the links. . .

SBIN= 		agetty simpleinit shutdown

BIN.NONSHADOW=  login

USRBIN=		last mesg wall

USRBIN.NONSHADOW= chfn chsh newgrp passwd

USRSBIN.NONSHADOW= vipw

PASSWDDIR=	/usr/bin

ifeq "$(HAVE_SHADOW)" "no"
WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-nonshadow
WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-nonshadow
endif

ifeq "$(HAVE_SYSVINIT)" "no"
WHAT_TO_BUILD:=$(WHAT_TO_BUILD) all-nonsysvinit
WHAT_TO_INSTALL:=$(WHAT_TO_INSTALL) install-nonsysvinit
endif

all: $(WHAT_TO_BUILD)
all-nonshadow: $(BIN.NONSHADOW) $(USRBIN.NONSHADOW) $(USRSBIN.NONSHADOW)
all-nonsysvinit: $(USRBIN) $(SBIN)

%.o: %.c
	$(CC) -c $(CFLAGS) $< -o $@

# Rules for everything else

agetty.o: $(BSD)/pathnames.h
agetty: agetty.o
chfn: chfn.o setpwnam.o
chsh: chsh.o setpwnam.o
last.o: $(BSD)/pathnames.h
last: last.o $(BSD)/getopt.o
login.o: $(BSD)/pathnames.h
login: login.o
mesg: mesg.o
newgrp.o: $(BSD)/pathnames.h
newgrp: newgrp.o
passwd: passwd.o islocal.o
shutdown.o: $(BSD)/pathnames.h
shutdown: shutdown.o
simpleinit.o: $(BSD)/pathnames.h
simpleinit: simpleinit.o
vipw.o: $(BSD)/pathnames.h
vipw: vipw.o
wall: wall.o ttymsg.o

install: all $(WHAT_TO_INSTALL)

install-nonshadow:
	$(INSTALLDIR) $(SBINDIR) $(BINDIR) $(USRBINDIR)
	$(INSTALLBIN) $(BIN.NONSHADOW) $(BINDIR)
	$(INSTALLBIN) $(USRBIN.NONSHADOW) $(USRBINDIR)
	$(INSTALLBIN) $(USRSBIN.NONSHADOW) $(USRSBINDIR)
	$(INSTALLDIR) $(MAN1DIR) $(MAN8DIR)
	$(INSTALLMAN) $(MAN1.NONSHADOW) $(MAN1DIR)
	$(INSTALLMAN) $(MAN8.NONSHADOW) $(MAN8DIR)
	chown root $(USRBINDIR)/chsh
	chmod u+s $(USRBINDIR)/chsh
	chown root $(USRBINDIR)/chfn
	chmod u+s $(USRBINDIR)/chfn
	chown root $(USRBINDIR)/newgrp
	chmod u+s $(USRBINDIR)/newgrp
	chown root $(PASSWDDIR)/passwd
	chmod u+s $(PASSWDDIR)/passwd
	chown root $(BINDIR)/login
	chmod u+s $(BINDIR)/login

install-nonsysvinit:
	$(INSTALLDIR) $(SBINDIR) $(BINDIR) $(USRBINDIR)
	$(INSTALLBIN) $(SBIN) $(SBINDIR)
	(cd $(SHUTDOWNDIR); ln -sf shutdown reboot)
	(cd $(SHUTDOWNDIR); ln -sf shutdown fastboot)
	(cd $(SHUTDOWNDIR); ln -sf shutdown halt)
	(cd $(SHUTDOWNDIR); ln -sf shutdown fasthalt)
	$(INSTALLBIN) $(USRBIN) $(USRBINDIR)
	$(INSTALLDIR) $(MAN1DIR) $(MAN8DIR)
	$(INSTALLMAN) $(MAN1) $(MAN1DIR)
	$(INSTALLMAN) $(MAN8) $(MAN8DIR)

.PHONY: clean
clean:
	-rm -f *.o *~ core $(SBIN) $(BIN) $(BIN.NONSHADOW) $(USRBIN) \
		$(USRBIN.NONSHADOW) $(USRSBIN.NONSHADOW)