"Fossies" - the Fresh Open Source Software Archive 
Member "passwdqc-2.0.3/Makefile" (23 Jun 2023, 10008 Bytes) of package /linux/privat/passwdqc-2.0.3.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the latest
Fossies "Diffs" side-by-side code changes report for "Makefile":
2.0.2_vs_2.0.3.
1 #
2 # Copyright (c) 2000-2003,2005,2009,2010,2020 by Solar Designer
3 # Copyright (c) 2008,2009,2017 by Dmitry V. Levin
4 # Copyright (c) 2017 by Oleg Solovyov
5 # See LICENSE
6 #
7
8 PACKAGE = passwdqc
9 VERSION = 2.0.3
10 TITLE = pam_passwdqc
11 SHARED_LIB = libpasswdqc.so.1
12 DEVEL_LIB = libpasswdqc.so
13 SHARED_LIB_DARWIN = libpasswdqc.0.dylib
14 SHARED_LIB_CYGWIN = cygpasswdqc-0.dll
15 DEVEL_LIB_DARWIN = libpasswdqc.dylib
16 DEVEL_LIB_CYGWIN = libpasswdqc.dll.a
17 MAP_LIB = libpasswdqc.map
18 PAM_SO_SUFFIX =
19 SHARED_PAM = $(TITLE).so$(PAM_SO_SUFFIX)
20 MAP_PAM = pam_passwdqc.map
21 SHLIBMODE = 755
22 HEADER = passwdqc.h
23 INCMODE = 644
24 PKGCONFIG = passwdqc.pc
25 PKGCONFMODE = 644
26 MAN1 = pwqgen.1 pwqcheck.1 pwqfilter.1
27 MAN3 = libpasswdqc.3 \
28 passwdqc_params_reset.3 \
29 passwdqc_params_load.3 \
30 passwdqc_params_parse.3 \
31 passwdqc_params_free.3 \
32 passwdqc_check.3 \
33 passwdqc_random.3
34 MAN5 = passwdqc.conf.5
35 MAN8 = $(TITLE).8
36 MANMODE = 644
37 BINDIR = /usr/bin
38 BINMODE = 755
39 CONFDIR = /etc
40 CONFMODE = 644
41 SHARED_LIBDIR = /lib
42 SHARED_LIBDIR_CYGWIN = /usr/bin
43 SHARED_LIBDIR_SUN = /usr/lib
44 SHARED_LIBDIR_REL = ../..$(SHARED_LIBDIR)
45 DEVEL_LIBDIR = /usr/lib
46 SECUREDIR = /lib/security
47 SECUREDIR_SUN = /usr/lib/security
48 SECUREDIR_DARWIN = /usr/lib/pam
49 INCLUDEDIR = /usr/include
50 PKGCONFIGDIR = $(DEVEL_LIBDIR)/pkgconfig
51 MANDIR = /usr/share/man
52 DESTDIR =
53 LOCALEDIR = /usr/share/locale
54 LOCALEMODE = 644
55
56 LANGUAGES = ru
57
58 CC = gcc
59 LD = $(CC)
60 LD_lib = $(LD)
61 RM = rm -f
62 LN_s = ln -s -f
63 MKDIR = umask 022 && mkdir -p
64 INSTALL = install -c
65 # We support Sun's older /usr/ucb/install, but not the newer /usr/sbin/install.
66 INSTALL_SUN = /usr/ucb/install -c
67 CFLAGS = -Wall -W -O2
68 CFLAGS_lib = $(CFLAGS) -fPIC
69 CFLAGS_bin = $(CFLAGS) -fomit-frame-pointer
70 CPPFLAGS =
71 CPPFLAGS_bin = $(CPPFLAGS)
72 CPPFLAGS_lib = $(CPPFLAGS) -DPACKAGE=\\\"$(PACKAGE)\\\"
73 MSGFMT = msgfmt
74 XGETTEXT = xgettext
75 XGETTEXT_OPTS = --keyword=_ --keyword=P2_:1,1 --keyword=P3_:1,2 --language=C --add-comments
76 MSGMERGE = msgmerge
77
78 LDFLAGS =
79 LDFLAGS_shared = $(LDFLAGS) --shared
80 LDFLAGS_shared_LINUX = $(LDFLAGS) --shared
81 LDFLAGS_shared_SUN = $(LDFLAGS) -G
82 LDFLAGS_shared_HP = $(LDFLAGS) -b
83 LDFLAGS_lib = $(LDFLAGS_shared)
84 LDFLAGS_lib_LINUX = $(LDFLAGS_shared_LINUX) \
85 -Wl,--soname,$(SHARED_LIB),--version-script,$(MAP_LIB)
86 LDFLAGS_lib_SUN = $(LDFLAGS_shared_SUN)
87 LDFLAGS_lib_HP = $(LDFLAGS_shared_HP)
88 LDFLAGS_lib_CYGWIN = $(LDFLAGS_shared) \
89 -Wl,--out-implib=$(DEVEL_LIB_CYGWIN) \
90 -Wl,--export-all-symbols \
91 -Wl,--enable-auto-import
92 LDFLAGS_pam = $(LDFLAGS_shared)
93 LDFLAGS_pam_LINUX = $(LDFLAGS_shared_LINUX) \
94 -Wl,--version-script,$(MAP_PAM)
95 LDFLAGS_pam_SUN = $(LDFLAGS_shared_SUN)
96 LDFLAGS_pam_HP = $(LDFLAGS_shared_HP)
97
98 LDLIBS_lib =
99 LDLIBS_pam = -lpam -lcrypt
100 LDLIBS_pam_LINUX = -lpam -lcrypt
101 LDLIBS_pam_SUN = -lpam -lcrypt
102 LDLIBS_pam_HP = -lpam -lsec
103 LDLIBS_pam_DARWIN = -lpam -lSystem
104
105 # Uncomment this to use cc instead of gcc
106 #CC = cc
107 # Uncomment this to use Sun's C compiler flags
108 #CFLAGS = -xO2
109 #CFLAGS_lib = $(CFLAGS) -KPIC
110 #CFLAGS_bin = $(CFLAGS)
111 # Uncomment this to use HP's ANSI C compiler flags
112 #CFLAGS = -Ae +w1 +W 474,486,542 +O2
113 #CFLAGS_lib = $(CFLAGS) +z
114 #CFLAGS_bin = $(CFLAGS)
115
116 CONFIGS = passwdqc.conf
117 BINS = pwqgen pwqcheck pwqfilter
118 BINS_CYGWIN = $(BINS) $(SHARED_LIB_CYGWIN)
119 PROJ = $(SHARED_LIB) $(DEVEL_LIB) $(SHARED_PAM) $(BINS) $(PKGCONFIG)
120 OBJS_LIB = concat.o md4.o passwdqc_check.o passwdqc_filter.o passwdqc_load.o passwdqc_memzero.o passwdqc_parse.o passwdqc_random.o wordset_4k.o
121 OBJS_PAM = pam_passwdqc.o passwdqc_memzero.o
122 OBJS_GEN = pwqgen.o passwdqc_memzero.o
123 OBJS_CHECK = pwqcheck.o passwdqc_memzero.o
124 OBJS_FILTER = pwqfilter.o md4.o
125
126 default: all
127
128 all locales pam utils install install_lib install_locales install_pam install_utils uninstall remove remove_lib remove_locales remove_pam remove_utils:
129 case "`uname -s`" in \
130 Linux) $(MAKE) CPPFLAGS_lib="$(CPPFLAGS_lib) -DHAVE_SHADOW" \
131 LDFLAGS_lib="$(LDFLAGS_lib_LINUX)" \
132 LDFLAGS_pam="$(LDFLAGS_pam_LINUX)" \
133 LDLIBS_pam="$(LDLIBS_pam_LINUX)" \
134 $@_wrapped;; \
135 SunOS) $(MAKE) -e CPPFLAGS_lib="$(CPPFLAGS_lib) -DHAVE_SHADOW" \
136 LD_lib=ld \
137 LDFLAGS_lib="$(LDFLAGS_lib_SUN)" \
138 LDFLAGS_pam="$(LDFLAGS_pam_SUN)" \
139 LDLIBS_pam="$(LDLIBS_pam_SUN)" \
140 INSTALL="$(INSTALL_SUN)" \
141 SHARED_LIBDIR="$(SHARED_LIBDIR_SUN)" \
142 SECUREDIR="$(SECUREDIR_SUN)" \
143 $@_wrapped;; \
144 HP-UX) $(MAKE) CPPFLAGS_lib="$(CPPFLAGS_lib) -DHAVE_SHADOW" \
145 LD_lib=ld \
146 LDFLAGS_lib="$(LDFLAGS_lib_HP)" \
147 LDFLAGS_pam="$(LDFLAGS_pam_HP)" \
148 LDLIBS_pam="$(LDLIBS_pam_HP)" \
149 $@_wrapped;; \
150 Darwin) $(MAKE) \
151 SHARED_LIB="$(SHARED_LIB_DARWIN)" \
152 DEVEL_LIB="$(DEVEL_LIB_DARWIN)" \
153 SECUREDIR="$(SECUREDIR_DARWIN)" \
154 LDLIBS_pam="$(LDLIBS_pam_DARWIN)" \
155 $@_wrapped;; \
156 CYGWIN_NT*) $(MAKE) CPPFLAGS_lib="$(CPPFLAGS_lib)" \
157 SHARED_LIB="$(SHARED_LIB_CYGWIN)" \
158 SHARED_LIBDIR="$(SHARED_LIBDIR_CYGWIN)" \
159 DEVEL_LIB="$(DEVEL_LIB_CYGWIN)" \
160 LDFLAGS_lib="$(LDFLAGS_lib_CYGWIN)" \
161 BINS="$(BINS_CYGWIN)" \
162 CYGWIN=true \
163 $@_wrapped;; \
164 *) $(MAKE) $@_wrapped;; \
165 esac
166
167 all_wrapped: pam_wrapped utils_wrapped $(PKGCONFIG)
168
169 pam_wrapped: $(SHARED_PAM)
170
171 utils_wrapped: $(BINS)
172
173 $(SHARED_LIB): $(OBJS_LIB) $(MAP_LIB)
174 $(LD_lib) $(LDFLAGS_lib) $(OBJS_LIB) $(LDLIBS_lib) -o $(SHARED_LIB)
175
176 $(DEVEL_LIB): $(SHARED_LIB)
177 ifndef CYGWIN
178 $(LN_s) $(SHARED_LIB) $(DEVEL_LIB)
179 endif
180
181 $(SHARED_PAM): $(OBJS_PAM) $(MAP_PAM) $(DEVEL_LIB)
182 $(LD_lib) $(LDFLAGS_pam) $(OBJS_PAM) $(LDLIBS_pam) -L. -lpasswdqc -o $(SHARED_PAM)
183
184 pwqgen: $(OBJS_GEN) $(DEVEL_LIB)
185 $(LD) $(LDFLAGS) $(OBJS_GEN) -L. -lpasswdqc -o $@
186
187 pwqcheck: $(OBJS_CHECK) $(DEVEL_LIB)
188 $(LD) $(LDFLAGS) $(OBJS_CHECK) -L. -lpasswdqc -o $@
189
190 pwqfilter: $(OBJS_FILTER)
191 $(LD) $(LDFLAGS) $(OBJS_FILTER) -o $@
192
193 pwqgen.o: pwqgen.c passwdqc.h
194 $(CC) $(CPPFLAGS_bin) $(CFLAGS_bin) -c $*.c
195
196 pwqcheck.o: pwqcheck.c passwdqc.h
197 $(CC) $(CPPFLAGS_bin) $(CFLAGS_bin) -c $*.c
198
199 pwqfilter.o: pwqfilter.c passwdqc_filter.h passwdqc.h
200 $(CC) $(CPPFLAGS_bin) $(CFLAGS_bin) -c $*.c
201
202 .c.o:
203 $(CC) $(CPPFLAGS_lib) $(CFLAGS_lib) -c $*.c
204
205 $(PKGCONFIG): $(PKGCONFIG).in
206 sed -e "s|@VERSION@|$(VERSION)|g" $< > $@
207
208 concat.o: concat.h
209 pam_passwdqc.o: passwdqc.h pam_macros.h
210 passwdqc_check.o: passwdqc.h passwdqc_filter.h wordset_4k.h
211 passwdqc_filter.o: passwdqc.h passwdqc_filter.h
212 passwdqc_load.o: passwdqc.h concat.h
213 passwdqc_parse.o: passwdqc.h concat.h
214 passwdqc_random.o: passwdqc.h wordset_4k.h
215 wordset_4k.o: wordset_4k.h
216
217 install_wrapped: install_lib_wrapped install_utils_wrapped install_pam_wrapped
218 @echo 'Consider running ldconfig(8) to update the dynamic linker cache.'
219
220 install_lib_wrapped:
221 $(MKDIR) $(DESTDIR)$(CONFDIR)
222 $(INSTALL) -m $(CONFMODE) $(CONFIGS) $(DESTDIR)$(CONFDIR)/
223
224 $(MKDIR) $(DESTDIR)$(SHARED_LIBDIR)
225 $(INSTALL) -m $(SHLIBMODE) $(SHARED_LIB) $(DESTDIR)$(SHARED_LIBDIR)/
226
227 $(MKDIR) $(DESTDIR)$(DEVEL_LIBDIR)
228 ifndef CYGWIN
229 $(LN_s) $(SHARED_LIBDIR_REL)/$(SHARED_LIB) \
230 $(DESTDIR)$(DEVEL_LIBDIR)/$(DEVEL_LIB)
231 else
232 $(INSTALL) -m $(SHLIBMODE) $(DEVEL_LIB) $(DESTDIR)$(DEVEL_LIBDIR)/
233 endif
234
235 $(MKDIR) $(DESTDIR)$(INCLUDEDIR)
236 $(INSTALL) -m $(INCMODE) $(HEADER) $(DESTDIR)$(INCLUDEDIR)/
237
238 $(MKDIR) $(DESTDIR)$(PKGCONFIGDIR)
239 $(INSTALL) -m $(PKGCONFMODE) $(PKGCONFIG) $(DESTDIR)$(PKGCONFIGDIR)/
240
241 $(MKDIR) $(DESTDIR)$(MANDIR)/man3
242 $(INSTALL) -m $(MANMODE) $(MAN3) $(DESTDIR)$(MANDIR)/man3/
243
244 $(MKDIR) $(DESTDIR)$(MANDIR)/man5
245 $(INSTALL) -m $(MANMODE) $(MAN5) $(DESTDIR)$(MANDIR)/man5/
246
247 install_utils_wrapped:
248 $(MKDIR) $(DESTDIR)$(BINDIR)
249 $(INSTALL) -m $(BINMODE) $(BINS) $(DESTDIR)$(BINDIR)/
250
251 $(MKDIR) $(DESTDIR)$(MANDIR)/man1
252 $(INSTALL) -m $(MANMODE) $(MAN1) $(DESTDIR)$(MANDIR)/man1/
253
254 install_pam_wrapped:
255 $(MKDIR) $(DESTDIR)$(SECUREDIR)
256 $(INSTALL) -m $(SHLIBMODE) $(SHARED_PAM) $(DESTDIR)$(SECUREDIR)/
257
258 $(MKDIR) $(DESTDIR)$(MANDIR)/man8
259 $(INSTALL) -m $(MANMODE) $(MAN8) $(DESTDIR)$(MANDIR)/man8/
260
261 POFILES = $(LANGUAGES:%=po/%.po)
262 MOFILES = $(LANGUAGES:%=po/%.mo)
263 POTFILE_DEPS = pam_passwdqc.c passwdqc_check.c
264 POTFILE = po/$(PACKAGE).pot
265
266 $(POTFILE): $(POTFILE_DEPS)
267 $(XGETTEXT) $(XGETTEXT_OPTS) -o $@-t $^ && mv $@-t $@
268
269 .SUFFIXES: .po .mo
270
271 .po.mo:
272 $(MSGFMT) -c -o $@-t $< && mv $@-t $@
273
274 update_po: $(POTFILE) $(POFILES)
275 for f in $(POFILES); do $(MSGMERGE) -U $$f $< || exit; done
276
277 update_mo: $(MOFILES)
278
279 locales_wrapped: update_mo
280
281 install_locales_wrapped:
282 for lang in $(LANGUAGES); do \
283 $(MKDIR) $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES && \
284 $(INSTALL) -m $(LOCALEMODE) po/$$lang.mo \
285 $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES/$(PACKAGE).mo || exit; \
286 done
287
288 uninstall_wrapped remove_wrapped: remove_pam_wrapped remove_utils_wrapped remove_lib_wrapped remove_locales_wrapped
289
290 remove_pam_wrapped:
291 $(RM) $(DESTDIR)$(MANDIR)/man8/$(MAN8)
292 $(RM) $(DESTDIR)$(SECUREDIR)/$(SHARED_PAM)
293
294 remove_utils_wrapped:
295 for f in $(MAN1); do $(RM) $(DESTDIR)$(MANDIR)/man1/$$f; done
296 for f in $(BINS); do $(RM) $(DESTDIR)$(BINDIR)/$$f; done
297
298 remove_lib_wrapped:
299 for f in $(MAN5); do $(RM) $(DESTDIR)$(MANDIR)/man5/$$f; done
300 for f in $(MAN3); do $(RM) $(DESTDIR)$(MANDIR)/man3/$$f; done
301 for f in $(HEADER); do $(RM) $(DESTDIR)$(INCLUDEDIR)/$$f; done
302 for f in $(PKGCONFIG); do $(RM) $(DESTDIR)$(PKGCONFIGDIR)/$$f; done
303 for f in $(DEVEL_LIB); do $(RM) $(DESTDIR)$(DEVEL_LIBDIR)/$$f; done
304 for f in $(SHARED_LIB); do $(RM) $(DESTDIR)$(SHARED_LIBDIR)/$$f; done
305 for f in $(CONFIGS); do $(RM) $(DESTDIR)$(CONFDIR)/$$f; done
306
307 remove_locales_wrapped:
308 for f in $(LANGUAGES); do $(RM) $(DESTDIR)$(LOCALEDIR)/$$f/LC_MESSAGES/$(PACKAGE).mo; done
309
310 clean:
311 $(RM) $(PROJ) $(POTFILE) $(MOFILES) *.o
312
313 .PHONY: all all_wrapped clean install install_lib install_locales install_pam install_utils \
314 pam pam_wrapped uninstall remove remove_lib remove_pam remove_utils \
315 utils utils_wrapped \
316 update_mo update_po \
317 locales locales_wrapped \
318 install_wrapped install_lib_wrapped install_locales_wrapped install_pam_wrapped \
319 install_utils_wrapped \
320 remove_wrapped remove_lib_wrapped remove_locales_wrapped remove_pam_wrapped \
321 remove_utils_wrapped