7 VLOCK_VERSION
= 2.2 rc2
9 PROGRAMS
= vlock vlock-main
18 ifeq ($(ENABLE_PLUGINS
),yes
)
23 plugins
: modules scripts
37 $(info ###################################################)
38 $(info # Creating default configuration. #)
39 $(info # Run ./configure or edit config.mk to customize. #)
40 $(info ###################################################)
44 ### installation rules ###
47 install: install-programs install-man
49 ifeq ($(ENABLE_PLUGINS
),yes
)
50 install: install-plugins
53 .PHONY
: install-programs
54 install-programs
: $(PROGRAMS
)
55 $(MKDIR_P
) -m
755 $(DESTDIR
)$(PREFIX
)/bin
56 $(INSTALL
) -m
755 -o root
-g
$(ROOT_GROUP
) vlock
$(DESTDIR
)$(BINDIR
)/vlock
57 $(MKDIR_P
) -m
755 $(DESTDIR
)$(PREFIX
)/sbin
58 $(INSTALL
) -m
4711 -o root
-g
$(ROOT_GROUP
) vlock-main
$(DESTDIR
)$(SBINDIR
)/vlock-main
60 .PHONY
: install-plugins
61 install-plugins
: install-modules install-scripts
63 .PHONY
: install-modules
65 @
$(MAKE
) -C modules
install
67 .PHONY
: install-scripts
69 @
$(MAKE
) -C scripts
install
73 $(MKDIR_P
) -m
755 $(DESTDIR
)$(MANDIR
)/man1
74 $(INSTALL
) -m
644 -o root
-g
$(ROOT_GROUP
) man
/vlock
.1 $(DESTDIR
)$(MANDIR
)/man1
/vlock
.1
75 $(MKDIR_P
) -m
755 $(DESTDIR
)$(MANDIR
)/man8
76 $(INSTALL
) -m
644 -o root
-g
$(ROOT_GROUP
) man
/vlock-main
.8 $(DESTDIR
)$(MANDIR
)/man8
/vlock-main
.8
77 $(MKDIR_P
) -m
755 $(DESTDIR
)$(MANDIR
)/man5
78 $(INSTALL
) -m
644 -o root
-g
$(ROOT_GROUP
) man
/vlock-plugins
.5 $(DESTDIR
)$(MANDIR
)/man5
/vlock-plugins
.5
83 vlock
: vlock.sh config.mk Makefile
86 -e
's,%BOURNE_SHELL%,$(BOURNE_SHELL),' \
87 -e
's,%PREFIX%,$(PREFIX),' \
88 -e
's,%VLOCK_VERSION%,$(VLOCK_VERSION),' \
89 -e
's,%VLOCK_ENABLE_PLUGINS%,$(ENABLE_PLUGINS),' \
93 override CFLAGS
+= -Isrc
95 vlock-main
: vlock-main.o prompt.o auth-
$(AUTH_METHOD
).o console_switch.o util.o
97 auth-pam.o
: auth-pam.c prompt.h auth.h
98 auth-shadow.o
: auth-shadow.c prompt.h auth.h
99 prompt.o
: prompt.c prompt.h
100 vlock-main.o
: vlock-main.c auth.h prompt.h util.h
101 plugins.o
: plugins.c tsort.h plugin.h plugins.h list.h util.h
102 module.o
: override CFLAGS
+= -DVLOCK_MODULE_DIR
="\"$(MODULEDIR)\""
103 module.o
: module.c plugin.h list.h util.h
104 script.o
: override CFLAGS
+= -DVLOCK_SCRIPT_DIR
="\"$(SCRIPTDIR)\""
105 script.o
: script.c plugin.h process.h list.h util.h
106 plugin.o
: plugin.c plugin.h list.h util.h
107 tsort.o
: tsort.c tsort.h list.h
108 list.o
: list.c list.h util.h
109 console_switch.o
: console_switch.c console_switch.h
110 process.o
: process.c process.h
111 util.o
: util.c util.h
113 ifneq ($(ENABLE_ROOT_PASSWORD
),yes
)
114 vlock-main.o
: override CFLAGS
+= -DNO_ROOT_PASS
117 ifeq ($(AUTH_METHOD
),pam
)
118 vlock-main
: override LDFLAGS
+= $(PAM_LIBS
)
121 ifeq ($(AUTH_METHOD
),shadow
)
122 vlock-main
: override LDFLAGS
+= $(CRYPT_LIB
)
125 ifeq ($(ENABLE_PLUGINS
),yes
)
126 vlock-main
: plugins.o plugin.o module.o process.o script.o tsort.o list.o
127 # -rdynamic is needed so that the all plugin can access the symbols from console_switch.o
128 vlock-main
: override LDFLAGS
+= $(DL_LIB
) -rdynamic
129 vlock-main.o
: override CFLAGS
+= -DUSE_PLUGINS
130 vlock-main.o
: plugins.h
139 $(RM
) $(PROGRAMS
) $(wildcard *.o
)
140 @
$(MAKE
) -C modules
clean
141 @
$(MAKE
) -C scripts
clean