"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