sdk: track files with git and use it to implement proper clean targets
[openwrt/svn-archive/archive.git] / target / sdk / files / Makefile
index 0c27f1a47308bc5d41d37560bc23e7833810bcb5..01c1e1c788352af23ff65a2ae1e74ba8ec6f787c 100644 (file)
@@ -14,6 +14,16 @@ export TOPDIR LC_ALL LANG SDK
 
 world:
 
+# Initialize SDK snapshot
+.git/config:
+       @( \
+               echo -n "Initializing SDK ... "; \
+               git init -q .; \
+               find . -mindepth 1 -maxdepth 1 -not -name feeds | xargs git add; \
+               git commit -q -m "Initial state"; \
+               echo "ok."; \
+       )
+
 include $(TOPDIR)/include/host.mk
 
 ifneq ($(OPENWRT_BUILD),1)
@@ -36,14 +46,17 @@ else
 $(package/stamp-compile): $(BUILD_DIR)/.prepared
 $(BUILD_DIR)/.prepared: Makefile
        @mkdir -p $$(dirname $@)
-       @mkdir -p bin/packages
        @touch $@
 
 clean: FORCE
-       rm -rf $(BUILD_DIR) $(BIN_DIR)
+       git clean -f -d $(STAGING_DIR); true
+       git clean -f -d $(BUILD_DIR); true
+       git clean -f -d $(BIN_DIR); true
 
 dirclean: clean
-       rm -rf $(TMP_DIR)
+       git reset --hard HEAD
+       git clean -f -d
+       rm -rf feeds/
 
 # check prerequisites before starting to build
 prereq: $(package/stamp-prereq) ;