about summary refs log tree commit diff
path: root/Makefile
blob: d1cbbef4899d5e6eb26e22ecd75eb6347b72aa61 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# This boilerplate is necessary just because any add-on directory
# gets added as a normal subdirectory for the glibc build process.

subdir = ports

include ../Rules

.PHONY: dist dist-ports
dist: dist-ports

# Do `make dist dist-version=X.Y.Z' to make tar files of an older version.
dist-version = $(version)
# Also try 'dist-tag=some="-r TAG"' (or -D DATE) to get some tag rather
# than the release tag for X.Y.Z.
dist-tag = -r glibc-$(subst .,_,$(dist-version))

distname = glibc-ports-$(dist-version)

do-export = cvs $(CVSOPTS) -Q export -d $(basename $@) $(dist-tag)

dist-ports: $(foreach Z,.bz2 .gz,$(distname).tar$Z)
	md5sum $^
$(distname).tar:
	@rm -fr $(basename $@)
	$(MAKE) -q `find sysdeps -name configure`
	$(do-export) ports
	find $(basename $@) -name configure -print | xargs touch
	tar cf $@ $(basename $@)
	rm -fr $(basename $@)

sysdeps-of-stem = sysdeps/$* sysdeps/unix/sysv/linux/$*

.PRECIOUS: %.gz %.bz2 # Don't delete output as intermediate files.
dist-port-%: $(foreach Z,.bz2 .gz,glibc-port-%-$(dist-version).tar$Z)
	md5sum $^
glibc-port-%-$(dist-version).tar: configure ChangeLog
	@rm -fr $(basename $@)
	$(do-export) -l ports
	rm -f $(basename $@)/ChangeLog.[a-z]*
	$(MAKE) -q `find $(sysdeps-of-stem) -name configure`
	$(do-export) ports/ChangeLog.$* $(addprefix ports/,$(sysdeps-of-stem))
	mv $(basename $@)/ports/* $(basename $@)/
	rmdir $(basename $@)/ports
	find $(basename $@) -name configure -print | xargs touch
	tar cf $@ $(basename $@)
	rm -fr $(basename $@)