5
override CFLAGS += -Isrc -DPREFIX="\"$(PREFIX)\""
9
PROGRAMS = vlock vlock-main
18
ifeq ($(ENABLE_PLUGINS),yes)
23
plugins: modules scripts
33
.PHONY: check memcheck
41
$(info ###################################################)
42
$(info # Creating default configuration. #)
43
$(info # Run ./configure or edit config.mk to customize. #)
44
$(info ###################################################)
48
### installation rules ###
51
install: install-programs install-man
53
ifeq ($(ENABLE_PLUGINS),yes)
54
install: install-plugins
57
.PHONY: install-programs
58
install-programs: $(PROGRAMS)
59
$(MKDIR_P) -m 755 $(DESTDIR)$(PREFIX)/bin
60
$(INSTALL) -m 755 -o root -g $(ROOT_GROUP) vlock $(DESTDIR)$(BINDIR)/vlock
61
$(MKDIR_P) -m 755 $(DESTDIR)$(PREFIX)/sbin
62
$(INSTALL) -m 4711 -o root -g $(ROOT_GROUP) vlock-main $(DESTDIR)$(SBINDIR)/vlock-main
64
.PHONY: install-plugins
65
install-plugins: install-modules install-scripts
67
.PHONY: install-modules
69
@$(MAKE) -C modules install
71
.PHONY: install-scripts
73
@$(MAKE) -C scripts install
77
$(MKDIR_P) -m 755 $(DESTDIR)$(MANDIR)/man1
78
$(INSTALL) -m 644 -o root -g $(ROOT_GROUP) man/vlock.1 $(DESTDIR)$(MANDIR)/man1/vlock.1
79
$(MKDIR_P) -m 755 $(DESTDIR)$(MANDIR)/man8
80
$(INSTALL) -m 644 -o root -g $(ROOT_GROUP) man/vlock-main.8 $(DESTDIR)$(MANDIR)/man8/vlock-main.8
81
$(MKDIR_P) -m 755 $(DESTDIR)$(MANDIR)/man5
82
$(INSTALL) -m 644 -o root -g $(ROOT_GROUP) man/vlock-plugins.5 $(DESTDIR)$(MANDIR)/man5/vlock-plugins.5
21
87
vlock: vlock.sh config.mk Makefile
22
88
$(BOURNE_SHELL) -n $<
24
90
-e 's,%BOURNE_SHELL%,$(BOURNE_SHELL),' \
25
91
-e 's,%PREFIX%,$(PREFIX),' \
26
92
-e 's,%VLOCK_VERSION%,$(VLOCK_VERSION),' \
93
-e 's,%VLOCK_ENABLE_PLUGINS%,$(ENABLE_PLUGINS),' \
30
ifneq ($(USE_ROOT_PASS),y)
31
vlock-current : override CFLAGS += -DNO_ROOT_PASS
97
override CFLAGS += -Isrc
99
vlock-main: vlock-main.o prompt.o auth-$(AUTH_METHOD).o console_switch.o util.o
101
auth-pam.o: auth-pam.c prompt.h auth.h
102
auth-shadow.o: auth-shadow.c prompt.h auth.h
103
prompt.o: prompt.c prompt.h
104
vlock-main.o: vlock-main.c auth.h prompt.h util.h
105
plugins.o: plugins.c tsort.h plugin.h plugins.h list.h util.h
106
module.o : override CFLAGS += -DVLOCK_MODULE_DIR="\"$(MODULEDIR)\""
107
module.o: module.c plugin.h list.h util.h
108
script.o : override CFLAGS += -DVLOCK_SCRIPT_DIR="\"$(SCRIPTDIR)\""
109
script.o: script.c plugin.h process.h list.h util.h
110
plugin.o: plugin.c plugin.h list.h util.h
111
tsort.o: tsort.c tsort.h list.h
112
list.o: list.c list.h util.h
113
console_switch.o: console_switch.c console_switch.h
114
process.o: process.c process.h
115
util.o: util.c util.h
117
ifneq ($(ENABLE_ROOT_PASSWORD),yes)
118
vlock-main.o : override CFLAGS += -DNO_ROOT_PASS
34
121
ifeq ($(AUTH_METHOD),pam)
35
vlock-current : override LDFLAGS += $(PAM_LIBS)
122
vlock-main : override LDLIBS += $(PAM_LIBS)
38
125
ifeq ($(AUTH_METHOD),shadow)
39
vlock-current : override LDFLAGS += -lcrypt
42
vlock-current: vlock-current.c prompt.c auth-$(AUTH_METHOD).c
45
vlock-nosysrq vlock-all : override LDFLAGS += $(PAM_LIBS)
46
vlock-nosysrq vlock-all : override CFLAGS += -DUSE_PAM
54
else # VLOCK_GROUP is defined
61
install: install-programs install-man
63
.PHONY: install-programs
64
install-programs: $(PROGRAMS)
65
$(INSTALL) -D -m 755 -o root -g $(ROOT_GROUP) vlock $(DESTDIR)$(PREFIX)/bin/vlock
66
$(INSTALL) -D -m 4711 -o root -g $(ROOT_GROUP) vlock-current $(DESTDIR)$(PREFIX)/sbin/vlock-current
67
$(INSTALL) -D -m 755 -o root -g $(ROOT_GROUP) vlock-all $(DESTDIR)$(PREFIX)/sbin/vlock-all
68
$(INSTALL) -D -m $(VLOCK_MODE) -o root -g $(VLOCK_GROUP) vlock-nosysrq $(DESTDIR)$(PREFIX)/sbin/vlock-nosysrq
69
$(INSTALL) -D -m $(VLOCK_MODE) -o root -g $(VLOCK_GROUP) vlock-new $(DESTDIR)$(PREFIX)/sbin/vlock-new
73
$(INSTALL) -D -m 644 -o root -g $(ROOT_GROUP) man/vlock.1 $(DESTDIR)$(PREFIX)/share/man/man1/vlock.1
74
$(INSTALL) -D -m 644 -o root -g $(ROOT_GROUP) man/vlock-current.8 $(DESTDIR)$(PREFIX)/share/man/man8/vlock-current.8
75
$(INSTALL) -D -m 644 -o root -g $(ROOT_GROUP) man/vlock-all.8 $(DESTDIR)$(PREFIX)/share/man/man8/vlock-all.8
76
$(INSTALL) -D -m 644 -o root -g $(ROOT_GROUP) man/vlock-new.8 $(DESTDIR)$(PREFIX)/share/man/man8/vlock-new.8
77
$(INSTALL) -D -m 644 -o root -g $(ROOT_GROUP) man/vlock-nosysrq.8 $(DESTDIR)$(PREFIX)/share/man/man8/vlock-nosysrq.8
126
vlock-main : override LDLIBS += $(CRYPT_LIB)
129
ifeq ($(ENABLE_PLUGINS),yes)
130
vlock-main: plugins.o plugin.o module.o process.o script.o tsort.o list.o
131
# -rdynamic is needed so that the all plugin can access the symbols from console_switch.o
132
vlock-main : override LDFLAGS += -rdynamic
133
vlock-main : override LDLIBS += $(DL_LIB)
134
vlock-main.o : override CFLAGS += -DUSE_PLUGINS
135
vlock-main.o: plugins.h
144
$(RM) $(PROGRAMS) $(wildcard *.o)
145
@$(MAKE) -C modules clean
146
@$(MAKE) -C scripts clean
147
@$(MAKE) -C tests clean