summaryrefslogtreecommitdiff
path: root/src/chroot-tools/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/chroot-tools/Makefile')
-rw-r--r--src/chroot-tools/Makefile48
1 files changed, 28 insertions, 20 deletions
diff --git a/src/chroot-tools/Makefile b/src/chroot-tools/Makefile
index 258caea..0540636 100644
--- a/src/chroot-tools/Makefile
+++ b/src/chroot-tools/Makefile
@@ -1,31 +1,39 @@
-# The makechrootpkg flow is:
-# $(devtoolsdir)/*.in -> *.sh.in + *.sh.patch -> *.sh.ugly -> *.sh
-
-copy_files = makechrootpkg.sh.in archroot.in
-libs = makechrootpkg.sh
-progs = archroot
+# These files are coming from devtools
+copy_files = makechrootpkg.sh.in mkarchroot.in arch-nspawn.in
+# These are programs that we will use internally, but shouldn't be in PATH
+libexecs = mkarchroot arch-nspawn distcc-tool chcleanup
+no-progs = $(libexecs)
+# These are the shell libraries we will use
+libs = makechrootpkg.sh $(wildcard hooks-*.sh)
+
+pkglibexecdir = $(libexecdir)/libretools/chroot
clean_files = makechrootpkg.sh.ugly* *~
include ../../common.mk
-# Copy ###############################################################
+# Usage: $(call indent,FILENAME)
+# Command to auto-indent a file.
+indent = emacs --batch $1 \
+ --eval '(setq sh-basic-offset 8)' \
+ --eval '(indent-region (point-min) (point-max) nil)' \
+ -f save-buffer &>/dev/null
-makechrootpkg.sh.in: %.sh.in: $(devtoolsdir)/%.in
- cp $< $@
+# makechrootpkg.sh is special, we patch it and do fancy stuff
+# The flow is:
+# $(devtoolsdir)/*.in -> *.sh.in + *.sh.patch -> *.sh.ugly -> *.sh
-archroot.in: $(devtoolsdir)/mkarchroot.in
+makechrootpkg.sh.in: %.sh.in: $(devtoolsdir)/%.in
cp $< $@
-
-# Build ##############################################################
-
makechrootpkg.sh.ugly: %.ugly: %.in %.patch Makefile
- @echo "GEN $@"
- @cp $*.in $@
- @patch $@ $*.patch || { rm -f -- '$@'; false; }
-
+ cp $*.in $@
+ @echo 'PATCH $@ $*.patch'; patch $@ $*.patch || { rm -f -- '$@'; false; }
makechrootpkg.sh: %: %.ugly Makefile
- @echo "GEN $@"
- @$(edit) <"$<" >"$@" || { rm -f -- '$@'; false; }
- $(call indent,$@) || { rm -f -- '$@'; false; }
+ @echo 'EDIT < $< > $@'; $(edit) <'$<' >'$@' || { rm -f -- '$@'; false; }
+ @echo 'INDENT $@'; $(call indent,$@) || { rm -f -- '$@'; false; }
+
+mkarchroot: mkarchroot.in Makefile
+ @echo '< $< M4_EDIT | SED > $@'
+ @<'$<' $(edit) | sed 's|arch-nspawn|$$(librelib chroot/&)|' >'$@' || { rm -f -- '$@'; false; }
+ @echo 'CHMOD $<'; chmod 755 "$@" || { rm -f -- '$@'; false; }
archroot: %: %.in Makefile
@echo "GEN $@"