src/plugin.h: add error parameter to call_hook
[vlock.git] / Makefile
blob1e1e58b2211787a786f74987802d2fdefeb50d3f
1 # vlock makefile
3 include config.mk
4 include system.mk
6 VPATH = src
8 VLOCK_VERSION = 2.2 alpha1
10 PROGRAMS = vlock vlock-main
12 .PHONY: all
13 all: $(PROGRAMS)
15 ifeq ($(USE_PLUGINS),y)
16 all: plugins
17 endif
19 .PHONY: plugins
20 plugins: modules scripts
22 .PHONY: modules
23 modules:
24 @$(MAKE) -C modules
26 .PHONY: scripts
27 scripts:
28 @$(MAKE) -C scripts
30 ### installation rules ###
32 .PHONY: install
33 install: install-programs install-man
35 ifeq ($(USE_PLUGINS),y)
36 install: install-plugins
37 endif
39 .PHONY: install-programs
40 install-programs: $(PROGRAMS)
41 $(MKDIR_P) $(DESTDIR)$(PREFIX)/bin
42 $(INSTALL) -m 755 -o root -g $(ROOT_GROUP) vlock $(DESTDIR)$(PREFIX)/bin/vlock
43 $(MKDIR_P) $(DESTDIR)$(PREFIX)/sbin
44 $(INSTALL) -m 4711 -o root -g $(ROOT_GROUP) vlock-main $(DESTDIR)$(PREFIX)/sbin/vlock-main
46 .PHONY: install-plugins
47 install-plugins: install-modules install-scripts
49 .PHONY: install-modules
50 install-modules:
51 @$(MAKE) -C modules install
53 .PHONY: install-scripts
54 install-scripts:
55 @$(MAKE) -C scripts install
57 .PHONY: install-man
58 install-man:
59 $(MKDIR_P) $(DESTDIR)$(PREFIX)/share/man/man1
60 $(INSTALL) -m 644 -o root -g $(ROOT_GROUP) man/vlock.1 $(DESTDIR)$(PREFIX)/share/man/man1/vlock.1
61 $(MKDIR_P) $(DESTDIR)$(PREFIX)/share/man/man8
62 $(INSTALL) -m 644 -o root -g $(ROOT_GROUP) man/vlock-main.8 $(DESTDIR)$(PREFIX)/share/man/man8/vlock-main.8
65 ### build rules ###
67 vlock: vlock.sh config.mk Makefile
68 $(BOURNE_SHELL) -n $<
69 sed \
70 -e 's,%BOURNE_SHELL%,$(BOURNE_SHELL),' \
71 -e 's,%PREFIX%,$(PREFIX),' \
72 -e 's,%VLOCK_VERSION%,$(VLOCK_VERSION),' \
73 $< > $@.tmp
74 mv -f $@.tmp $@
76 override CFLAGS += -Isrc -DPREFIX="\"$(PREFIX)\""
77 override CXXFLAGS += -Isrc -DPREFIX="\"$(PREFIX)\""
79 ifeq ($(DEBUG),y)
80 override CFLAGS += -g -O0
81 override CXXFLAGS += -g -O0
82 endif
84 vlock-main: vlock-main.o prompt.o auth-$(AUTH_METHOD).o console_switch.o util.o
86 auth-pam.o: auth-pam.c prompt.h auth.h
87 auth-shadow.o: auth-shadow.c prompt.h auth.h
88 prompt.o: prompt.c prompt.h
89 vlock-main.o: vlock-main.c auth.h prompt.h util.h
90 plugins.o: plugins.c tsort.h plugin.h plugins.h list.h
91 module.o: module.c module.h plugin.h list.h
92 script.o: script.c script.h plugin.h list.h
93 plugin.o: plugin.c plugin.h list.h
94 tsort.o: tsort.c tsort.h list.h
95 list.o: list.c list.h
96 console_switch.o: console_switch.c console_switch.h
97 util.o: util.c util.h
99 ifneq ($(USE_ROOT_PASS),y)
100 vlock-main.o : override CFLAGS += -DNO_ROOT_PASS
101 endif
103 ifeq ($(AUTH_METHOD),pam)
104 vlock-main : override LDFLAGS += $(PAM_LIBS)
105 endif
107 ifeq ($(AUTH_METHOD),shadow)
108 vlock-main : override LDFLAGS += $(CRYPT_LIB)
109 endif
111 ifeq ($(USE_PLUGINS),y)
112 vlock-main: plugins.o plugin.o module.o script.o tsort.o list.o
113 vlock-main : override LDFLAGS += $(DL_LIB) -lstdc++
114 vlock-main.o : override CFLAGS += -DUSE_PLUGINS
115 vlock-main.o: plugins.h
116 endif
118 .PHONY: clean
119 clean:
120 $(RM) $(PROGRAMS) $(wildcard *.o)
121 @$(MAKE) -C modules clean
122 @$(MAKE) -C scripts clean