8 VLOCK_VERSION
= 2.2 alpha2
10 PROGRAMS
= vlock vlock-main
19 ifeq ($(USE_PLUGINS
),y
)
24 plugins
: modules scripts
34 ### installation rules ###
37 install: install-programs install-man
39 ifeq ($(USE_PLUGINS
),y
)
40 install: install-plugins
43 .PHONY
: install-programs
44 install-programs
: $(PROGRAMS
)
45 $(MKDIR_P
) $(DESTDIR
)$(PREFIX
)/bin
46 $(INSTALL
) -m
755 -o root
-g
$(ROOT_GROUP
) vlock
$(DESTDIR
)$(PREFIX
)/bin
/vlock
47 $(MKDIR_P
) $(DESTDIR
)$(PREFIX
)/sbin
48 $(INSTALL
) -m
4711 -o root
-g
$(ROOT_GROUP
) vlock-main
$(DESTDIR
)$(PREFIX
)/sbin
/vlock-main
50 .PHONY
: install-plugins
51 install-plugins
: install-modules install-scripts
53 .PHONY
: install-modules
55 @
$(MAKE
) -C modules
install
57 .PHONY
: install-scripts
59 @
$(MAKE
) -C scripts
install
63 $(MKDIR_P
) $(DESTDIR
)$(PREFIX
)/share
/man
/man1
64 $(INSTALL
) -m
644 -o root
-g
$(ROOT_GROUP
) man
/vlock
.1 $(DESTDIR
)$(PREFIX
)/share
/man
/man1
/vlock
.1
65 $(MKDIR_P
) $(DESTDIR
)$(PREFIX
)/share
/man
/man8
66 $(INSTALL
) -m
644 -o root
-g
$(ROOT_GROUP
) man
/vlock-main
.8 $(DESTDIR
)$(PREFIX
)/share
/man
/man8
/vlock-main
.8
71 vlock
: vlock.sh config.mk Makefile
74 -e
's,%BOURNE_SHELL%,$(BOURNE_SHELL),' \
75 -e
's,%PREFIX%,$(PREFIX),' \
76 -e
's,%VLOCK_VERSION%,$(VLOCK_VERSION),' \
77 -e
's,%VLOCK_USE_PLUGINS%,$(USE_PLUGINS),' \
81 override CFLAGS
+= -Isrc
83 vlock-main
: vlock-main.o prompt.o auth-
$(AUTH_METHOD
).o console_switch.o util.o
85 auth-pam.o
: auth-pam.c prompt.h auth.h
86 auth-shadow.o
: auth-shadow.c prompt.h auth.h
87 prompt.o
: prompt.c prompt.h
88 vlock-main.o
: vlock-main.c auth.h prompt.h util.h
89 plugins.o
: plugins.c tsort.h plugin.h plugins.h list.h util.h
90 module.o
: override CFLAGS
+= -DVLOCK_MODULE_DIR
="\"$(VLOCK_MODULE_DIR)\""
91 module.o
: module.c plugin.h list.h util.h
92 script.o
: override CFLAGS
+= -DVLOCK_SCRIPT_DIR
="\"$(VLOCK_SCRIPT_DIR)\""
93 script.o
: script.c plugin.h process.h list.h util.h
94 plugin.o
: plugin.c plugin.h list.h util.h
95 tsort.o
: tsort.c tsort.h list.h
96 list.o
: list.c list.h util.h
97 console_switch.o
: console_switch.c console_switch.h
98 process.o
: process.c process.h
101 ifneq ($(USE_ROOT_PASS
),y
)
102 vlock-main.o
: override CFLAGS
+= -DNO_ROOT_PASS
105 ifeq ($(AUTH_METHOD
),pam
)
106 vlock-main
: override LDFLAGS
+= $(PAM_LIBS
)
109 ifeq ($(AUTH_METHOD
),shadow
)
110 vlock-main
: override LDFLAGS
+= $(CRYPT_LIB
)
113 ifeq ($(USE_PLUGINS
),y
)
114 vlock-main
: plugins.o plugin.o module.o process.o script.o tsort.o list.o
115 # -rdynamic is needed so that the all plugin can access the symbols from console_switch.o
116 vlock-main
: override LDFLAGS
+= $(DL_LIB
) -rdynamic
117 vlock-main.o
: override CFLAGS
+= -DUSE_PLUGINS
118 vlock-main.o
: plugins.h
123 $(RM
) $(PROGRAMS
) $(wildcard *.o
)
124 @
$(MAKE
) -C modules
clean
125 @
$(MAKE
) -C scripts
clean