guido+sencrypt@0: # guido+sencrypt@0: # Copyright (C) 2014 Guido Berhoerster guido+sencrypt@0: # guido+sencrypt@0: # Permission is hereby granted, free of charge, to any person obtaining guido+sencrypt@0: # a copy of this software and associated documentation files (the guido+sencrypt@0: # "Software"), to deal in the Software without restriction, including guido+sencrypt@0: # without limitation the rights to use, copy, modify, merge, publish, guido+sencrypt@0: # distribute, sublicense, and/or sell copies of the Software, and to guido+sencrypt@0: # permit persons to whom the Software is furnished to do so, subject to guido+sencrypt@0: # the following conditions: guido+sencrypt@0: # guido+sencrypt@0: # The above copyright notice and this permission notice shall be included guido+sencrypt@0: # in all copies or substantial portions of the Software. guido+sencrypt@0: # guido+sencrypt@0: # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, guido+sencrypt@0: # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF guido+sencrypt@0: # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. guido+sencrypt@0: # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY guido+sencrypt@0: # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, guido+sencrypt@0: # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE guido+sencrypt@0: # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. guido+sencrypt@0: # guido+sencrypt@0: guido+sencrypt@0: PACKAGE = sencrypt guido+sencrypt@21: VERSION = 3 guido+sencrypt@0: DISTNAME := $(PACKAGE)-$(VERSION) guido+sencrypt@0: DECRYPT_ALIAS = sdecrypt guido+sencrypt@0: guido+sencrypt@12: # gcc, clang, icc, Sun/Solaris Studio guido+sencrypt@12: CC := $(CC) -std=c99 guido+sencrypt@0: COMPILE.c = $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(XCPPFLAGS) $(TARGET_ARCH) -c guido+sencrypt@0: # gcc, clang, icc guido+sencrypt@0: MAKEDEPEND.c = $(CC) -MM $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(XCPPFLAGS) guido+sencrypt@0: # Sun/Solaris Studio guido+sencrypt@0: #MAKEDEPEND.c = $(CC) -xM1 $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(XCPPFLAGS) guido+sencrypt@0: # X makedepend guido+sencrypt@0: #MAKEDEPEND.c = makedepend -f- -Y -- $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(XCPPFLAGS) -- guido+sencrypt@0: LINK.c = $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(XCPPFLAGS) $(LDFLAGS) $(XLDFLAGS) $(TARGET_ARCH) guido+sencrypt@0: LINK.o = $(CC) $(LDFLAGS) $(XLDFLAGS) $(TARGET_ARCH) guido+sencrypt@13: CP := cp guido+sencrypt@0: INSTALL := install guido+sencrypt@0: INSTALL.exec := $(INSTALL) -D -m 0755 guido+sencrypt@0: INSTALL.data := $(INSTALL) -D -m 0644 guido+sencrypt@13: INSTALL.link := $(CP) -f -P guido+sencrypt@0: PAX := pax guido+sencrypt@0: GZIP := gzip guido+sencrypt@0: SED := sed guido+sencrypt@1: XSLTPROC := xsltproc guido+sencrypt@1: DOCBOOK5_MANPAGES_STYLESHEET = http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl guido+sencrypt@13: DOCBOOK5_MANPAGES_FLAGS = --stringparam man.authors.section.enabled 0 \ guido+sencrypt@13: --stringparam man.copyright.section.enabled 0 guido+sencrypt@1: guido+sencrypt@1: define generate-manpage-rule = guido+sencrypt@13: $(addsuffix .%,$(basename $1)): $(addsuffix .%.xml,$(basename $(firstword $1))) docbook-update-source-data.xsl guido+sencrypt@1: $$(XSLTPROC) \ guido+sencrypt@1: --xinclude \ guido+sencrypt@1: --stringparam package $$(PACKAGE) \ guido+sencrypt@13: --stringparam version $$(VERSION) \ guido+sencrypt@1: docbook-update-source-data.xsl $$< | \ guido+sencrypt@1: $$(XSLTPROC) \ guido+sencrypt@1: --xinclude \ guido+sencrypt@13: --output $(firstword $1) \ guido+sencrypt@1: $$(DOCBOOK5_MANPAGES_FLAGS) \ guido+sencrypt@1: $$(DOCBOOK5_MANPAGES_STYLESHEET) \ guido+sencrypt@1: - guido+sencrypt@13: for alias in $(wordlist 2,$(words $1),$1); do \ guido+sencrypt@13: ln -sf $(notdir $(firstword $1)) $$$$alias; \ guido+sencrypt@13: done guido+sencrypt@1: endef guido+sencrypt@0: guido+sencrypt@0: DESTDIR ?= guido+sencrypt@0: prefix ?= /usr/local guido+sencrypt@0: bindir ?= $(prefix)/bin guido+sencrypt@0: datadir ?= $(prefix)/share guido+sencrypt@1: mandir ?= $(datadir)/man guido+sencrypt@0: guido+sencrypt@12: OS_NAME := $(shell uname -s) guido+sencrypt@12: OS_RELEASE := $(shell uname -r) guido+sencrypt@12: guido+sencrypt@12: ifneq ($(findstring $(OS_NAME),Linux FreeBSD DragonFly NetBSD OpenBSD),) guido+sencrypt@12: HAVE_ERR_H ?= 1 guido+sencrypt@12: else ifeq ($(OS_NAME),SunOS) guido+sencrypt@12: ifeq ($(OS_RELEASE),5.10) guido+sencrypt@12: HAVE_ERR_H ?= 0 guido+sencrypt@12: else guido+sencrypt@12: HAVE_ERR_H ?= 1 guido+sencrypt@12: endif guido+sencrypt@17: else ifeq ($(OS_NAME),AIX) guido+sencrypt@17: HAVE_ERR_H ?= 0 guido+sencrypt@12: endif guido+sencrypt@0: guido+sencrypt@0: OBJS = sencrypt.o guido+sencrypt@13: guido+sencrypt@1: MANPAGES = $(PACKAGE).1 $(DECRYPT_ALIAS).1 guido+sencrypt@0: guido+sencrypt@0: .DEFAULT_TARGET = all guido+sencrypt@0: guido+sencrypt@0: .PHONY: all clean clobber dist install guido+sencrypt@0: guido+sencrypt@12: all: $(PACKAGE) $(OBJS) $(MANPAGES) guido+sencrypt@0: guido+sencrypt@12: $(PACKAGE): XCPPFLAGS = -D_XOPEN_SOURCE=600 -DOPENSSL_LOAD_CONF guido+sencrypt@14: $(PACKAGE): XCFLAGS := $(shell getconf LFS_CFLAGS) guido+sencrypt@14: $(PACKAGE): LDLIBS := -lcrypto guido+sencrypt@14: $(PACKAGE): XLDFLAGS := $(shell getconf LFS_LDFLAGS) guido+sencrypt@0: ifeq ($(HAVE_ERR_H),1) guido+sencrypt@12: $(PACKAGE): XCPPFLAGS += -DHAVE_ERR_H guido+sencrypt@12: else guido+sencrypt@12: OBJS += err.o guido+sencrypt@0: endif guido+sencrypt@14: ifeq ($(OS_NAME),SunOS) guido+sencrypt@14: $(PACKAGE): XCPPFLAGS += -I/usr/xpg4/include guido+sencrypt@14: $(PACKAGE): XLDFLAGS += -L/usr/xpg4/lib -R/usr/xpg4/lib guido+sencrypt@14: endif guido+sencrypt@0: $(PACKAGE): $(OBJS) guido+sencrypt@0: $(LINK.o) $^ $(LDLIBS) -o $@ guido+sencrypt@0: guido+sencrypt@13: $(eval $(call generate-manpage-rule,$(MANPAGES))) guido+sencrypt@1: guido+sencrypt@0: %.o: %.c guido+sencrypt@0: $(MAKEDEPEND.c) $< | $(SED) -f deps.sed >$*.d guido+sencrypt@0: $(COMPILE.c) -o $@ $< guido+sencrypt@0: guido+sencrypt@0: install: guido+sencrypt@0: $(INSTALL.exec) $(PACKAGE) "$(DESTDIR)$(bindir)/$(PACKAGE)" guido+sencrypt@23: ln -sf $(PACKAGE) "$(DESTDIR)$(bindir)/$(DECRYPT_ALIAS)" guido+sencrypt@1: for manpage in $(MANPAGES); do \ guido+sencrypt@13: if [ -L $${manpage} ]; then \ guido+sencrypt@13: $(INSTALL.link) $${manpage} \ guido+sencrypt@13: "$(DESTDIR)$(mandir)/man$${manpage##*.}/$${manpage##*/}"; \ guido+sencrypt@13: else \ guido+sencrypt@13: $(INSTALL.data) $${manpage} \ guido+sencrypt@13: "$(DESTDIR)$(mandir)/man$${manpage##*.}/$${manpage##*/}"; \ guido+sencrypt@13: fi \ guido+sencrypt@1: done guido+sencrypt@0: guido+sencrypt@0: clean: guido+sencrypt@1: rm -f $(PACKAGE) $(OBJS) $(MANPAGES) guido+sencrypt@0: guido+sencrypt@0: clobber: clean guido+sencrypt@0: rm -f $(patsubst %.o,%.d,$(OBJS)) guido+sencrypt@0: guido+sencrypt@0: dist: clobber guido+sencrypt@0: $(PAX) -w -x ustar -s ',.*/\..*,,' -s ',./[^/]*\.tar\.gz,,' \ guido+sencrypt@11: -s ',^\.$$,,' -s ',\./,$(DISTNAME)/,' . | \ guido+sencrypt@11: $(GZIP) > $(DISTNAME).tar.gz guido+sencrypt@0: guido+sencrypt@19: -include local.mk guido+sencrypt@19: guido+sencrypt@0: -include $(patsubst %.o,%.d,$(OBJS))