mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
New simplified make dist using git archive.
This commit is contained in:
parent
25db0f6ca9
commit
6cfe8609b8
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2009-10-28 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* Makefile (dist-prepare): New target.
|
||||
(tag-for-dist): Target removed.
|
||||
(glibc-%.tar): Pattern rule removed.
|
||||
(%.tar): New pattern rule, does simple use of git archive.
|
||||
(dist-version): Remove variable definition.
|
||||
(dist): Just depend on that. Add .tar.xz dependency.
|
||||
If dist-version variable not set on command line, depend on
|
||||
dist-prepare, re-invoke with dist-version set via git describe.
|
||||
|
||||
* Makerules (%.xz): New pattern rule.
|
||||
|
||||
2009-10-28 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf/ifuncdep2.c: Include ifunc-sel.h.
|
||||
|
59
Makefile
59
Makefile
@ -347,51 +347,38 @@ TAGS:
|
||||
| $(ETAGS) -o $@ -
|
||||
|
||||
# Make the distribution tarfile.
|
||||
.PHONY: dist tag-for-dist
|
||||
.PHONY: dist dist-prepare
|
||||
|
||||
generated := $(generated) stubs.h
|
||||
|
||||
files-for-dist := README FAQ INSTALL NOTES configure
|
||||
files-for-dist := README FAQ INSTALL NOTES configure ChangeLog NEWS
|
||||
|
||||
tag-of-stem = glibc-$(subst .,_,$*)
|
||||
dist-selector = -r $(tag-of-stem)
|
||||
# Regenerate stuff, then error if these things are not committed yet.
|
||||
dist-prepare: $(files-for-dist)
|
||||
conf=`find sysdeps $(addsuffix /sysdeps,$(sysdeps-add-ons)) \
|
||||
-name configure`; \
|
||||
$(MAKE) $$conf && \
|
||||
git diff --stat HEAD -- $^ $$conf \
|
||||
| $(AWK) '{ print; rc=1 } END { exit rc }'
|
||||
|
||||
# Add-ons in the main repository but distributed in their own tar files.
|
||||
dist-separate = libidn
|
||||
|
||||
glibc-%.tar $(dist-separate:%=glibc-%-%.tar): $(files-for-dist) \
|
||||
$(foreach D,$(dist-separate),\
|
||||
$D/configure)
|
||||
@rm -fr glibc-$*
|
||||
$(MAKE) -q `find sysdeps $(addsuffix /sysdeps,$(sysdeps-add-ons)) \
|
||||
-name configure`
|
||||
cvs $(CVSOPTS) -Q export -d glibc-$* $(dist-selector) libc
|
||||
# Touch all the configure scripts going into the tarball since cvs export
|
||||
# might have delivered configure.in newer than configure.
|
||||
find glibc-$* -name configure -print | xargs touch
|
||||
$(dist-do-separate-dirs)
|
||||
tar cf glibc-$*.tar glibc-$*
|
||||
rm -fr glibc-$*
|
||||
define dist-do-separate-dirs
|
||||
$(foreach dir,$(dist-separate),
|
||||
@rm -fr glibc-$(dir)-$*
|
||||
mv glibc-$*/$(dir) glibc-$(dir)-$*
|
||||
tar cf glibc-$(dir)-$*.tar glibc-$(dir)-$*
|
||||
rm -fr glibc-$(dir)-$*
|
||||
)
|
||||
endef
|
||||
%.tar: FORCE
|
||||
git archive --prefix=$*/ $* > $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
# Do `make dist dist-version=X.Y.Z' to make tar files of an older version.
|
||||
dist-version = $(version)
|
||||
|
||||
dist: $(foreach Z,.bz2 .gz,glibc-$(dist-version).tar$Z \
|
||||
$(foreach D,$(dist-separate),\
|
||||
glibc-$D-$(dist-version).tar$Z))
|
||||
ifneq (,$(strip $(dist-version)))
|
||||
dist: $(foreach Z,.bz2 .gz .xz,$(dist-version).tar$Z)
|
||||
md5sum $^
|
||||
|
||||
tag-for-dist: tag-$(dist-version)
|
||||
tag-%: $(files-for-dist)
|
||||
cvs $(CVSOPTS) -Q tag -c $(tag-of-stem)
|
||||
else
|
||||
dist: dist-prepare
|
||||
@if v=`git describe`; then \
|
||||
echo Distribution version $$v; \
|
||||
$(MAKE) dist dist-version=$$v; \
|
||||
else \
|
||||
false; \
|
||||
fi
|
||||
endif
|
||||
|
||||
define format-me
|
||||
@rm -f $@
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1991-2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991-2006,2007,2008,2009 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -1335,6 +1335,7 @@ echo-headers:
|
||||
|
||||
%.bz2: %; bzip2 -9vk $<
|
||||
%.gz: %; gzip -9vnc $< > $@.new && mv -f $@.new $@
|
||||
%.xz: %; xz -9evk $<
|
||||
|
||||
# Common cleaning targets.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user