gemini: build images in temporary directories
authorMathias Kresin <dev@kresin.me>
Fri, 25 Jan 2019 20:39:49 +0000 (21:39 +0100)
committerMathias Kresin <dev@kresin.me>
Sat, 26 Jan 2019 14:23:36 +0000 (15:23 +0100)
Create files in temporary directories within the build directory
instead manipulating files in the (final) output directory.

Signed-off-by: Mathias Kresin <dev@kresin.me>
target/linux/gemini/image/Makefile

index f3086dee78df699239edd7c7234fb46171f21fb3..c08ea5d5eb4cefcc2f3a94f606e2a11d9f1c5504 100644 (file)
@@ -27,18 +27,20 @@ endef
 # to satisfy the boot loader on the device. The zImage is
 # the only real content.
 define Build/dns313-images
-       if [ -d $(BIN_DIR)/.boot ] ; then rm -rf $(BIN_DIR)/.boot ; fi
-       mkdir -p $(BIN_DIR)/.boot
-       echo "dummy" > $(BIN_DIR)/.boot/dummyfile
-       dns313-header $(BIN_DIR)/.boot/dummyfile \
-               $(BIN_DIR)/.boot/rootfs.tgz
-       dns313-header $(BIN_DIR)/.boot/dummyfile \
-               $(BIN_DIR)/.boot/rd.gz
+       mkdir -p $@.tmp/.boot
+
+       echo "dummy" > $@.tmp/dummyfile
+
+       dns313-header $@.tmp/dummyfile \
+               $@.tmp/.boot/rootfs.tgz
+       dns313-header $@.tmp/dummyfile \
+               $@.tmp/.boot/rd.gz
        dns313-header $(IMAGE_KERNEL) \
-               $(BIN_DIR)/.boot/zImage
-       rm -f $(BIN_DIR)/.boot/dummyfile
-       (cd $(BIN_DIR); tar -czf $@ .boot)
-       if [ -d $(BIN_DIR)/.boot ] ; then rm -rf $(BIN_DIR)/.boot ; fi
+               $@.tmp/.boot/zImage
+
+       tar -czf $@ -C @.tmp .boot
+
+       rm -rf $@.tmp
 endef
 
 # Create the special NAS4220B and Itian Square One SQ201 image