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
87 vlock
: vlock.sh config.mk Makefile
90 -e
's,%BOURNE_SHELL%,$(BOURNE_SHELL),' \
91 -e
's,%PREFIX%,$(PREFIX),' \
92 -e
's,%VLOCK_VERSION%,$(VLOCK_VERSION),' \
93 -e
's,%VLOCK_ENABLE_PLUGINS%,$(ENABLE_PLUGINS),' \
97 override CFLAGS
+= -Isrc
99 VLOCK_MAIN_SOURCES
= \
102 auth-
$(AUTH_METHOD
).c \
109 VLOCK_MAIN_OBJECTS
= $(VLOCK_MAIN_SOURCES
:.c
=.o
)
111 ifeq ($(ENABLE_PLUGINS
),yes
)
112 VLOCK_MAIN_SOURCES
+= plugins.c plugin.c module.c process.c script.c tsort.c
114 # -rdynamic is needed so that the all plugin can access the symbols from console_switch.o
115 vlock-main
: override LDFLAGS
+= -rdynamic
116 vlock-main
: override LDLIBS
+= $(DL_LIB
)
117 vlock-main.o
: override CFLAGS
+= -DUSE_PLUGINS
119 module.o
: override CFLAGS
+= -DVLOCK_MODULE_DIR
="\"$(MODULEDIR)\""
120 script.o
: override CFLAGS
+= -DVLOCK_SCRIPT_DIR
="\"$(SCRIPTDIR)\""
123 ifneq ($(ENABLE_ROOT_PASSWORD
),yes
)
124 vlock-main.o
: override CFLAGS
+= -DNO_ROOT_PASS
127 ifeq ($(AUTH_METHOD
),pam
)
128 vlock-main
: override LDLIBS
+= $(PAM_LIBS
)
131 ifeq ($(AUTH_METHOD
),shadow
)
132 vlock-main
: override LDLIBS
+= $(CRYPT_LIB
)
135 vlock-main
: $(VLOCK_MAIN_OBJECTS
)
137 # dependencies generated by gcc
142 $(CC
) $(CFLAGS
) -MM
-MF
$@
$<
144 VLOCK_MAIN_DEPENDENCIES
= $(VLOCK_MAIN_SOURCES
:%.c
=.deps
/%.d
)
146 include $(VLOCK_MAIN_DEPENDENCIES
)
155 $(RM
) $(PROGRAMS
) $(VLOCK_MAIN_OBJECTS
)
157 @
$(MAKE
) -C modules
clean
158 @
$(MAKE
) -C scripts
clean
159 @
$(MAKE
) -C tests
clean