summaryrefslogtreecommitdiffstats
path: root/share/mk/dist/check.mk
blob: c3038b086b99675d2a21ff9f1d95e198ae114cb9 (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
47
48
49
50
51
52
53
54
# Copyright 2024 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception


ifndef MAKEFILE_DIST_CHECK_INCLUDED
MAKEFILE_DIST_CHECK_INCLUDED := 1


include $(MAKEFILEDIR)/configure/coreutils.mk
include $(MAKEFILEDIR)/configure/diffutils.mk
include $(MAKEFILEDIR)/configure/tar.mk
include $(MAKEFILEDIR)/dist/tar.mk
include $(MAKEFILEDIR)/version.mk


TMPDIR1 := $(shell $(MKTEMP) -d)
TMPDIR2 := $(shell $(MKTEMP) -d)


$(TMPDIR1)/$(DISTNAME).tar: $(DISTFILE) | $$(@D)/
	$(info	CP		$(TMPDIR1)/$(DISTNAME).tar)
	$(CP) $(DISTFILE) $(TMPDIR1)/$(DISTNAME).tar

$(TMPDIR1)/$(DISTNAME): $(TMPDIR1)/$(DISTNAME).tar | $$(@D)/
	$(info	TAR xf		$(TMPDIR1)/$(DISTNAME).tar)
	cd $(TMPDIR1)/ \
	&& $(TAR) xf $(TMPDIR1)/$(DISTNAME).tar

$(builddir)/distcheck.all.touch: $(TMPDIR1)/$(DISTNAME) | $$(@D)/
	$(info	MAKE		-C $(TMPDIR1)/$(DISTNAME) all)
	$(MAKE) -C $(TMPDIR1)/$(DISTNAME) all
	$(TOUCH) $@

$(builddir)/distcheck.install.touch: $(builddir)/distcheck.all.touch | $$(@D)/
	$(info	MAKE		-C $(TMPDIR1)/$(DISTNAME) install)
	$(MAKE) -C $(TMPDIR1)/$(DISTNAME) install DESTDIR=$(TMPDIR2)
	$(TOUCH) $@

$(builddir)/distcheck.dist.touch: $(builddir)/distcheck.install.touch | $$(@D)/
	$(info	MAKE		-C $(TMPDIR1)/$(DISTNAME) dist)
	$(MAKE) -C $(TMPDIR1)/$(DISTNAME) dist
	$(TOUCH) $@

$(builddir)/distcheck.diff.touch: $(builddir)/distcheck.dist.touch | $$(@D)/
	$(info	DIFF		$(DISTFILE) $(TMPDIR1)/$(DISTNAME).tar)
	$(DIFF) $(DISTFILE) $(TMPDIR1)/$(DISTNAME).tar
	$(TOUCH) $@


.PHONY: distcheck
distcheck: $(builddir)/distcheck.diff.touch


endif  # include guard