summaryrefslogtreecommitdiffstats
path: root/rules/post/export_src.make
blob: 9697a5ad3b05c214f2670c96cb8f8373a0b2f39b (plain)
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
# -*-makefile-*-

# input: source=PACKAGE_NAME_SOURCE, output: full path to the source archive
# [HOST|CROSS]_FOO_SOURCE may be empty; try FOO_SOURCE in that case
define ptx/export/get_source
$(if $($(source)),$($(source)),$($(subst CROSS_,,$(subst HOST_,,$(source)))))
endef

# iterate over $(PACKAGES_SELECTED) "bash busybox" ->
# convert to "BASH_SOURCE BUSYBOX_SOURCE"
_ptx_export_packages := $(foreach source,$(PTX_PACKAGES_SELECTED),$(PTX_MAP_TO_PACKAGE_$(source))_SOURCES)

# iterate over $(_ptx_export_packages) "BASH_SOURCES BUSYBOX_SOURCES" ->
# convert to "/path/to/bash.tar.bz2 /path/to/busybox.tar.bz2"
# remove duplicates
_ptx_export_packages_src := $(sort $(foreach source,$(_ptx_export_packages),$(ptx/export/get_source)))

# iterate over $(_ptx_export_packages_src) "/path/to/bash.tar.bz2 /path/to/busybox.tar.bz2" ->
# convert to "/export/bash.tar.bz2 /export/busybox.tar.bz2"
_ptx_export_packages_dst := $(subst $(SRCDIR),$(EXPORTDIR),$(_ptx_export_packages_src))

# force copy
.PHONY: $(_ptx_export_packages_dst)
$(_ptx_export_packages_dst): $(_ptx_export_packages_src)
	@cp -av "$(SRCDIR)/$(@F)" "$@"

export_src: $(_ptx_export_packages_dst)

# vim600:set foldmethod=marker:
# vim600:set syntax=make: