pthbs.mk (1573B)
1 # default to homedir if not root 2 versions?=$(patsubst /root/%,/%,$(HOME)/versions) 3 pthbs?=. 4 packages?=packages 5 work?=work 6 cache?=cache 7 index?=index 8 9 export PATH:=$(abspath $(pthbs))/command:$(PATH) 10 export pthbs_versions:=$(versions) 11 export pthbs_pkgdir:=$(abspath $(packages)) 12 export pthbs_workdir:=$(abspath $(work)) 13 export pthbs_indexdir:=$(abspath $(index)) 14 export pthbs_cache:=$(abspath $(cache)) 15 export pthbs_source:=$(abspath $(pthbs)) 16 17 no_default: 18 @echo "pthbs has no default target to build" 19 20 .PHONY: check 21 check: 22 '$(pthbs_source)/util/verify-external-resources' 23 24 $(versions)/environment.%/.env: 25 @echo mkdir "$$(dirname '$@')" 26 @echo touch '$@' 27 28 29 %/.exists: 30 mkdir -p '$*' 31 touch '$@' 32 33 34 $(cache)/link/file-%/.local: $(index)/filelist.% $(cache)/link/file-%/.exists 35 pthbs-link-from-index '$(cache)/link/file-$*/' '$(index)/filelist.$*' 36 37 $(cache)/link/git-commit-%/.local: $(index)/commitlist.% $(cache)/link/git-commit-%/.exists 38 pthbs-link-from-index '$(cache)/link/git-commit-$*/' '$(index)/commitlist.$*' 39 40 $(cache)/make/package.%.mk: $(packages)/% $(cache)/make/.exists $(pthbs)/command/pthbs-makegen 41 pthbs-makegen '$(packages)/$*' >'$@.new' 42 mv '$@.new' '$@' 43 44 $(cache)/make/downloads.%.mk: downloadlist.% $(cache)/make/.exists $(pthbs)/command/pthbs-makegen-downloads 45 pthbs-makegen-downloads '$*' 'downloadlist.$*' >'$@.new' 46 mv '$@.new' '$@' 47 48 include $(cache)/make/downloads.sha256.mk 49 50 pkg_files=$(wildcard $(packages)/*) 51 #env_files=$(wildcard environments/*) 52 mk_files=$(patsubst $(packages)/%,$(cache)/make/package.%.mk,$(pkg_files)) 53 include $(mk_files)