Mon, 28 Jan 2013 17:37:18 +0100
Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.
1 # Makefile for GNU patch.
3 # Copyright (C) 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2009
4 # Free Software Foundation, Inc.
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 2, or (at your option)
9 # 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
17 # along with this program; see the file COPYING.
18 # If not, write to the Free Software Foundation,
19 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #### Start of system configuration section. ####
23 srcdir = @srcdir@
24 VPATH = @srcdir@
26 @SET_MAKE@
28 CC = @CC@
29 ed_PROGRAM = @ed_PROGRAM@
30 INSTALL = @INSTALL@
31 INSTALL_PROGRAM = @INSTALL_PROGRAM@
32 INSTALL_DATA = @INSTALL_DATA@
33 TEST_SHELL = @TEST_SHELL@
34 transform = @program_transform_name@
36 CFLAGS = @CFLAGS@
37 CPPFLAGS = @CPPFLAGS@
38 DEFS = @DEFS@
39 EXEEXT = @EXEEXT@
40 LDFLAGS = @LDFLAGS@
41 LIBOBJDIR = gl/lib/
42 LIBOBJS = @LIBOBJS@ ${LIBOBJDIR}full-write$U.o
43 LIBS = @LIBS@
44 OBJEXT = @OBJEXT@
45 PACKAGE_NAME = @PACKAGE_NAME@
46 PACKAGE_VERSION = @PACKAGE_VERSION@
47 STDBOOL_H = @STDBOOL_H@
48 GETOPT_H = @GETOPT_H@
49 HAVE__BOOL = @HAVE__BOOL@
50 ENABLE_MERGE = @ENABLE_MERGE@
52 prefix = @prefix@
53 exec_prefix = @exec_prefix@
54 bindir = @bindir@
56 # Where to put the manual pages.
57 datarootdir = @datarootdir@
58 mandir = @mandir@
59 man1dir = $(mandir)/man1
60 # Extension (including `.') for the manual page filenames.
61 man1ext = .1
63 # Hook for nonstandard builds.
64 CONFIG_STATUS = config.status
66 #### End of system configuration section. ####
68 SHELL = /bin/sh
70 LIBSRCS = \
71 gl/lib/argmatch.c \
72 gl/lib/backupfile.c \
73 gl/lib/basename.c \
74 gl/lib/dirname.c \
75 gl/lib/error.c \
76 gl/lib/exitfail.c \
77 gl/lib/full-write.c \
78 gl/lib/getopt1.c \
79 gl/lib/getopt.c \
80 gl/lib/hash.c \
81 gl/lib/malloc.c \
82 gl/lib/mbrtowc.c \
83 gl/lib/memchr.c \
84 gl/lib/quotearg.c \
85 gl/lib/quote.c \
86 gl/lib/realloc.c \
87 gl/lib/rename.c \
88 gl/lib/safe-read.c \
89 gl/lib/safe-write.c \
90 gl/lib/strcasecmp.c \
91 gl/lib/stripslash.c \
92 gl/lib/strncasecmp.c \
93 gl/lib/strndup.c \
94 gl/lib/xmalloc.c \
95 gl/lib/xstrndup.c
97 SRCS = $(LIBSRCS) \
98 src/inp.c \
99 src/maketime.c \
100 src/merge.c \
101 src/partime.c \
102 src/patch.c \
103 src/pch.c \
104 src/quotesys.c \
105 src/util.c \
106 src/version.c
108 MERGEOBJ = src/merge.$(OBJEXT)
110 OBJS = $(LIBOBJS) $(MERGEOBJ) \
111 src/inp.$(OBJEXT) \
112 src/maketime.$(OBJEXT) \
113 src/partime.$(OBJEXT) \
114 src/patch.$(OBJEXT) \
115 src/pch.$(OBJEXT) \
116 src/quotesys.$(OBJEXT) \
117 src/util.$(OBJEXT) \
118 src/version.$(OBJEXT)
120 LIBHDRS = \
121 gl/lib/argmatch.h \
122 gl/lib/backupfile.h \
123 gl/lib/dirname.h \
124 gl/lib/error.h \
125 gl/lib/exitfail.h \
126 gl/lib/full-write.h \
127 gl/lib/getopt.hin \
128 gl/lib/getopt_int.h \
129 gl/lib/gettext.h \
130 gl/lib/hash.h \
131 gl/lib/minmax.h \
132 gl/lib/quotearg.h \
133 gl/lib/quote.h \
134 gl/lib/safe-write.h \
135 gl/lib/stdbool.hin \
136 gl/lib/unlocked-io.h \
137 gl/lib/verify.h \
138 gl/lib/xalloc.h \
139 gl/lib/xstrndup.h
141 HDRS = $(LIBHDRS) \
142 src/bestmatch.h \
143 src/common.h \
144 src/diffseq.h \
145 src/inp.h \
146 src/maketime.h \
147 src/partime.h \
148 src/pch.h \
149 src/quotesys.h \
150 src/util.h \
151 src/version.h
153 MISC = \
154 AUTHORS \
155 COPYING \
156 ChangeLog \
157 INSTALL \
158 Makefile.in \
159 NEWS \
160 README \
161 VERSION \
162 aclocal.m4 \
163 config.guess\
164 config.hin \
165 config.sub \
166 configure \
167 configure.ac \
168 install-sh \
169 mkinstalldirs \
170 patch.man \
171 tests/test-lib.sh \
172 update-version.sh
174 DISTFILES = $(MISC) $(SRCS) $(HDRS) $(M4FILES) \
175 pc/chdirsaf.c \
176 pc/djgpp/config.sed \
177 pc/djgpp/configure.bat \
178 pc/djgpp/configure.sed \
179 pc/djgpp/README
181 MORE_DISTFILES = $(TESTS) $(BROKEN_TESTS)
183 patch_name = `echo patch | sed '$(transform)'`
185 all:: src/patch$(EXEEXT)
187 info::
188 installcheck::
190 TESTS = \
191 tests/asymmetric-hunks \
192 tests/backup-prefix-suffix \
193 tests/corrupt-reject-files \
194 tests/create-delete \
195 tests/crlf-handling \
196 tests/filename-choice \
197 tests/global-reject-files \
198 tests/inname \
199 tests/line-numbers \
200 tests/merge \
201 tests/munged-context-format \
202 tests/need-filename \
203 tests/no-newline-triggers-assert \
204 tests/preserve-c-function-names \
205 tests/preserve-mode-and-timestamp \
206 tests/reject-format \
207 tests/remember-backup-files \
208 tests/remember-reject-files \
209 tests/unmodified-files
211 BROKEN_TESTS = \
212 tests/dash-o-append
214 check:: $(TESTS)
215 @echo All tests succeeded!
217 .PHONY: $(TESTS) $(BROKEN_TESTS)
218 $(TESTS) $(BROKEN_TESTS): all
219 @echo "[$@]"
220 @srcdir=$(srcdir)/tests $(TEST_SHELL) $(srcdir)/$@
222 DEFINE_ENABLE_MERGE = -DENABLE_MERGE
223 COMPILE = $(CC) -c $(CPPFLAGS) $(DEFS) -Ded_PROGRAM=\"$(ed_PROGRAM)\" \
224 $(DEFINE_ENABLE_MERGE) -I. -I$(srcdir)/src -I$(srcdir)/gl/lib $(CFLAGS)
226 .c.$(OBJEXT):
227 @mkdir -p $(@D)
228 $(COMPILE) -o $@ $<
230 src/patch$(EXEEXT): $(OBJS)
231 $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS)
233 install:: all
234 $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
235 $(INSTALL_PROGRAM) src/patch$(EXEEXT) $(DESTDIR)$(bindir)/$(patch_name)$(EXEEXT)
236 $(INSTALL_DATA) $(srcdir)/patch.man $(DESTDIR)$(man1dir)/$(patch_name)$(man1ext)
238 install-strip::
239 $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
241 uninstall::
242 rm -f $(DESTDIR)$(bindir)/$(patch_name)$(EXEEXT) \
243 $(DESTDIR)$(man1dir)/$(patch_name)$(man1ext)
245 Makefile: Makefile.in $(CONFIG_STATUS)
246 $(SHELL) $(CONFIG_STATUS)
247 FORCE:
248 VERSION: FORCE
249 @cd $(srcdir) && $(SHELL) ./update-version.sh VERSION
250 config.status: configure
251 $(SHELL) $(CONFIG_STATUS) --recheck
252 configure: configure.ac $(srcdir)/aclocal.m4 $(srcdir)/VERSION
253 cd $(srcdir) && autoconf --force
254 config.hin: configure.ac $(srcdir)/aclocal.m4
255 cd $(srcdir) && autoheader --force
257 # We need the following in order to create <getopt.h> when the system
258 # doesn't have one that works with the given compiler.
259 getopt.h: gl/lib/getopt.hin
260 rm -f $@-t $@
261 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
262 cat $(srcdir)/gl/lib/getopt.hin; \
263 } > $@-t
264 mv -f $@-t $@
266 # We need the following in order to create <stdbool.h> when the system
267 # doesn't have one that works.
268 #gl/lib/stdbool.h: gl/lib/stdbool.hin
269 stdbool.h: gl/lib/stdbool.hin
270 rm -f $@-t $@
271 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
272 sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' \
273 < $(srcdir)/gl/lib/stdbool.hin; \
274 } > $@-t
275 mv $@-t $@
277 LIBM4FILES = \
278 gl/m4/argmatch.m4 \
279 gl/m4/backupfile.m4 \
280 gl/m4/d-ino.m4 \
281 gl/m4/dirname.m4 \
282 gl/m4/dos.m4 \
283 gl/m4/double-slash-root.m4 \
284 gl/m4/error.m4 \
285 gl/m4/exitfail.m4 \
286 gl/m4/extensions.m4 \
287 gl/m4/getopt.m4 \
288 gl/m4/gettext.m4 \
289 gl/m4/hash.m4 \
290 gl/m4/inline.m4 \
291 gl/m4/malloc.m4 \
292 gl/m4/mbrtowc.m4 \
293 gl/m4/mbstate_t.m4 \
294 gl/m4/memchr.m4 \
295 gl/m4/minmax.m4 \
296 gl/m4/onceonly.m4 \
297 gl/m4/quotearg.m4 \
298 gl/m4/quote.m4 \
299 gl/m4/realloc.m4 \
300 gl/m4/rename.m4 \
301 gl/m4/safe-write.m4 \
302 gl/m4/ssize_t.m4 \
303 gl/m4/stdbool.m4 \
304 gl/m4/strcase.m4 \
305 gl/m4/strndup.m4 \
306 gl/m4/unlocked-io.m4 \
307 gl/m4/utimbuf.m4 \
308 gl/m4/xalloc.m4 \
309 gl/m4/xstrndup.m4
311 M4FILES = $(LIBM4FILES) \
312 m4/mkdir.m4 \
313 m4/setmode.m4
315 $(srcdir)/aclocal.m4: $(M4FILES)
316 aclocal -I m4 -I gl/m4
318 TAGS: $(HDRS) $(SRCS)
319 etags $(HDRS) $(SRCS)
321 mostlyclean::
322 rm -f core* *core src/*.$(OBJEXT) gl/lib/*.$(OBJEXT) \
323 stdbool.h getopt.h gl/lib/*.h-t
325 clean:: mostlyclean
326 rm -f src/patch$(EXEEXT)
328 distclean:: clean
329 rm -f Makefile config.cache config.hin~ config.log config.status \
330 config.h
331 rm -rf autom4te.cache/
333 maintainer-clean::
334 @echo "This command is intended for maintainers to use;"
335 @echo "rebuilding the deleted files requires special tools."
336 $(MAKE) distclean
337 rm -f TAGS VERSION aclocal.m4 config.hin configure \
338 patch-*.tar.gz patch-*.tar.gz.sig
340 PV = $(PACKAGE_NAME)-$(PACKAGE_VERSION)
342 dist:: $(DISTFILES)
343 @rm -rf $(PV)
344 @ln -s . $(PV)
345 @tar -cf - `( printf "%s\n" $(DISTFILES) $(MORE_DISTFILES); \
346 grep -q -E -- '-[0-9]+-[0-9a-z]+(-dirty)?$$' VERSION \
347 && echo README-alpha \
348 ) | sed -e 's,^$(srcdir)/,,' -e "s,^,$(PV)/," \
349 | LC_ALL=C sort` \
350 | gzip -9 > $(PV).tar.gz
351 @if which bzip2 >/dev/null 2>/dev/null; then \
352 gzip -d < $(PV).tar.gz | bzip2 -9 > $(PV).tar.bz2; fi
353 @if which xz >/dev/null 2>/dev/null; then \
354 gzip -d < $(PV).tar.gz | xz -9 > $(PV).tar.xz; fi
355 @rm -rf $(PV)
356 @whereto=$$(if grep -q -E -- '-[0-9]+-[0-9a-z]+(-dirty)?$$' VERSION; \
357 then echo alpha; else echo ftp; fi); \
358 echo; \
359 echo "# gnupload --to $$whereto.gnu.org:patch $(PV).tar.gz"; \
360 test ! -e $(PV).tar.bz2 || echo "# gnupload" \
361 "--to $$whereto.gnu.org:patch $(PV).tar.bz2"; \
362 test ! -e $(PV).tar.xz || echo "# gnupload" \
363 "--to $$whereto.gnu.org:patch $(PV).tar.xz"; \
364 echo
366 $(OBJS): config.h
367 COMMON = src/common.h $(STDBOOL_H)
369 gl/lib/addext.$(OBJEXT): gl/lib/backupfile.h gl/lib/dirname.h
370 gl/lib/argmatch.$(OBJEXT): $(STDBOOL_H) gl/lib/argmatch.h gl/lib/gettext.h \
371 gl/lib/error.h gl/lib/quote.h gl/lib/quotearg.h gl/lib/unlocked-io.h
372 gl/lib/backupfile.$(OBJEXT): gl/lib/argmatch.h gl/lib/backupfile.h \
373 gl/lib/dirname.h
374 gl/lib/basename.$(OBJEXT): gl/lib/dirname.h
375 gl/lib/dirname.$(OBJEXT): gl/lib/dirname.h gl/lib/xalloc.h
376 gl/lib/error.$(OBJEXT): gl/lib/error.h gl/lib/gettext.h gl/lib/unlocked-io.h
377 gl/lib/exitfail.$(OBJEXT): gl/lib/exitfail.h
378 gl/lib/full-write.$(OBJEXT): gl/lib/full-write.h gl/lib/safe-write.h
379 gl/lib/getopt.$(OBJEXT) gl/lib/getopt1.$(OBJEXT): getopt.h
380 gl/lib/hash.$(OBJEXT): $(STDBOOL_H) gl/lib/hash.h
381 gl/lib/safe-read.$(OBJEXT): gl/lib/safe-write.h
382 gl/lib/safe-write.$(OBJEXT): gl/lib/safe-read.c
384 src/inp.$(OBJEXT): gl/lib/backupfile.h $(COMMON) src/inp.h src/pch.h \
385 gl/lib/quotearg.h src/util.h gl/lib/xalloc.h
386 src/maketime.$(OBJEXT): src/maketime.h src/partime.h
387 src/partime.$(OBJEXT): src/partime.h
388 src/patch.$(OBJEXT): gl/lib/argmatch.h gl/lib/backupfile.h $(COMMON) \
389 gl/lib/exitfail.h $(GETOPT_H) src/inp.h src/pch.h \
390 gl/lib/quotearg.h src/util.h src/version.h gl/lib/xalloc.h
391 src/pch.$(OBJEXT): gl/lib/backupfile.h $(COMMON) gl/lib/dirname.h src/inp.h \
392 src/pch.h gl/lib/quotearg.h src/util.h
393 gl/lib/quote.$(OBJECT): gl/lib/quote.h gl/lib/quotearg.h
394 gl/lib/quotearg.$(OBJEXT): gl/lib/gettext.h gl/lib/quotearg.h gl/lib/xalloc.h
395 src/quotesys.$(OBJEXT): src/quotesys.h
396 gl/lib/strncasecmp.$(OBJEXT): gl/lib/strcasecmp.c
397 src/util.$(OBJEXT): gl/lib/backupfile.h $(COMMON) gl/lib/dirname.h gl/lib/full-write.h \
398 gl/lib/hash.h src/maketime.h src/partime.h gl/lib/quotearg.h \
399 src/quotesys.h src/util.h src/version.h gl/lib/xalloc.h
400 src/version.$(OBJEXT): $(COMMON) src/version.h
401 gl/lib/xmalloc.$(OBJEXT): gl/lib/error.h gl/lib/exitfail.h gl/lib/gettext.h \
402 gl/lib/xalloc.h