3 # Copyright (C) 1999, 2001-2002, 2006-2007, 2009-2024 Free Software Foundation,
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License along
17 # with this program; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 ALL_RECURSIVE_TARGETS =
23 SUBDIRS = lib doc . tests
24 AM_CPPFLAGS = -I$(top_srcdir)/lib
25 AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
27 # Tell the linker to omit references to unused shared libraries.
28 AM_LDFLAGS = $(IGNORE_UNUSED_LIBRARIES_CFLAGS)
30 noinst_LIBRARIES = libver.a
31 nodist_libver_a_SOURCES = version.c version.h
32 DISTCLEANFILES = version.c version.h
42 man_MANS = gunzip.1 gzexe.1 gzip.1 \
43 zcat.1 zcmp.1 zdiff.1 zforce.1 zgrep.1 $(ZLESS_MAN) zmore.1 znew.1
45 EXTRA_DIST = $(ACINCLUDE_INPUTS) $(man_MANS) \
50 gunzip.in gzexe.in gzip.doc \
51 revision.h sample/makecrc.c \
52 sample/ztouch sample/add.c sample/sub.c sample/zread.c sample/zfile \
54 zcat.in zcmp.in zdiff.in \
55 zegrep.in zfgrep.in zforce.in zgrep.in zless.in zmore.in znew.in
56 noinst_HEADERS = deflate.h gzip.h lzw.h
59 bin_SCRIPTS = gunzip gzexe zcat zcmp zdiff \
60 zegrep zfgrep zforce zgrep $(ZLESS_PROG) zmore znew
62 bits.c deflate.c gzip.c inflate.c \
63 trees.c unlzh.c unlzw.c unpack.c unzip.c util.c zip.c
64 gzip_LDADD = libver.a lib/libgzip.a
65 gzip_LDADD += $(LIB_CLOCK_GETTIME) $(LIB_FDATASYNC)
66 # gnulib-tool also recommends $(LIB_MBRTOWC) and $(LIBINTL), but
67 # modules needing those libraries are avoided so the libraries can be omitted.
69 gzip_SOURCES += dfltcc.c
72 BUILT_SOURCES += version.c
75 $(AM_V_at)printf '#include <config.h>\n' > $@t
76 $(AM_V_at)printf '#include "version.h"\n' >> $@t
77 $(AM_V_at)printf 'char const *Version = "$(PACKAGE_VERSION)";\n' >> $@t
78 $(AM_V_at)chmod a-w $@t
81 BUILT_SOURCES += version.h
84 $(AM_V_at)printf 'extern char const *Version;\n' > $@t
85 $(AM_V_at)chmod a-w $@t
89 $(AM_V_GEN)groff -man -Tascii $(srcdir)/gzip.1 | col -b | uniq > $@-t \
90 && mv $@-t $(srcdir)/gzip.doc
92 gzip.doc.gz: gzip.doc $(bin_PROGRAMS)
93 $(AM_V_GEN)./gzip < $(srcdir)/gzip.doc >$@-t && mv $@-t $@
97 $(AM_V_GEN)rm -f $@-t $@ \
99 -e 's|/bin/sh|$(SHELL)|g' \
100 -e 's|[@]GREP@|$(GREP)|g' \
101 -e "s|'gzip'|$(GZIP_TRANSFORMED)|g" \
102 -e "s|'zdiff'|$(ZDIFF_TRANSFORMED)|g" \
103 -e "s|'zgrep'|$(ZGREP_TRANSFORMED)|g" \
104 -e 's|[@]VERSION@|$(VERSION)|g' \
105 $(srcdir)/$@.in >$@-t \
109 # Arrange so that .tarball-version appears only in the distribution
110 # tarball, and never in a checked-out repository.
111 dist-hook: gen-ChangeLog
112 $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
114 gen_start_date = 2008-01-01
115 .PHONY: gen-ChangeLog
117 $(AM_V_GEN)if test -d .git; then \
118 $(top_srcdir)/build-aux/gitlog-to-changelog \
119 --since=$(gen_start_date) > $(distdir)/cl-t && \
120 { rm -f $(distdir)/ChangeLog && \
121 mv $(distdir)/cl-t $(distdir)/ChangeLog; } \
124 # Prepend "." to $PATH:
125 new_path = PATH=.$(PATH_SEPARATOR)$$PATH
127 # A simple test, just of gzip -- more of a sanity check than anything else.
128 FILES_TO_CHECK = $(bin_SCRIPTS) \
129 $(top_srcdir)/ChangeLog $(top_srcdir)/configure $(top_srcdir)/gzip.c
130 check-local: $(FILES_TO_CHECK) $(bin_PROGRAMS) gzip.doc.gz
131 $(AM_V_GEN)$(new_path); { test '$(srcdir)' != . \
132 || zdiff gzip.doc.gz; }
133 $(AM_V_at)$(new_path); zdiff $(srcdir)/gzip.doc $(srcdir)/gzip.doc
134 $(AM_V_at)$(new_path); zdiff $(srcdir)/gzip.doc gzip.doc.gz
135 $(AM_V_at)$(new_path); zdiff - $(srcdir)/gzip.doc <gzip.doc.gz
136 $(AM_V_at)$(new_path); zdiff gzip.doc.gz gzip.doc.gz
137 $(AM_V_at)$(new_path); zgrep -iV >/dev/null
138 $(AM_V_at)$(new_path); \
139 for opt in --rsyncable '' -1 -9; do \
140 for file in $(FILES_TO_CHECK); do \
141 gzip $$opt -c -- "$$file" \
142 | gzip -d | cmp - "$$file" || exit 1; \
146 install-exec-hook: remove-installed-links
147 install-exec-hook remove-installed-links:
148 @for prog_ext in $(bin_PROGRAMS) $(bin_SCRIPTS); do \
149 prog=`echo "$$prog_ext"|sed 's/$(EXEEXT)$$//'`; \
151 gunzip) aliases='uncompress';; \
154 transform='$(transform)'; \
155 test "X$$prog" = "X$$prog_ext" || \
156 transform="$$transform"';s/$$/$(EXEEXT)/'; \
157 destbindir=$(DESTDIR)$(bindir); \
158 source=`echo "$$prog"|sed "$$transform"`; \
159 for alias in $$aliases; do \
160 dest=`echo "$$alias"|sed "$$transform"`; \
162 cd "$$destbindir" && \
166 ln "$$source" "$$dest" || $(LN_S) "$$source" "$$dest";; \
172 uninstall-local: remove-installed-links
174 ALL_RECURSIVE_TARGETS += distcheck-hook
178 MAINTAINERCLEANFILES = gzip.doc
180 MOSTLYCLEANFILES = _match.i match_.s _match.S gzip.doc.gz \
181 gunzip gzexe zcat zcmp zdiff zegrep zfgrep zforce zgrep zless zmore znew
183 # gzip, zdiff and zgrep are used by installed scripts, and installed names
184 # might be transformed by 'configure' options like --program-transform-name.
185 # Create executabls in the current directory by the transformed names,
186 # for the benefit of 'make check'.
187 if GZIP_IS_TRANSFORMED
188 BUILT_SOURCES += $(GZIP_TRANSFORMED)
189 MOSTLYCLEANFILES += $(GZIP_TRANSFORMED)
191 printf '%s\n' >'$@' \
193 'exec '\''$(abs_top_builddir)/gzip'\'' "$$@"'
196 if ZDIFF_IS_TRANSFORMED
197 BUILT_SOURCES += $(ZDIFF_TRANSFORMED)
198 MOSTLYCLEANFILES += $(ZDIFF_TRANSFORMED)
199 $(ZDIFF_TRANSFORMED):
200 printf '%s\n' >'$@' \
202 'exec '\''$(abs_top_builddir)/zdiff'\'' "$$@"'
205 if ZGREP_IS_TRANSFORMED
206 BUILT_SOURCES += $(ZGREP_TRANSFORMED)
207 MOSTLYCLEANFILES += $(ZGREP_TRANSFORMED)
208 $(ZGREP_TRANSFORMED):
209 printf '%s\n' >'$@' \
211 'exec '\''$(abs_top_builddir)/zgrep'\'' "$$@"'