mirror of
https://github.com/hak5/wifipineapple-openwrt.git
synced 2025-10-29 16:57:19 +00:00
sdk: track files with git and use it to implement proper clean targets
Initialize a Git repository in the SDK and use git reset / git clean to rollback any SDK changes with "make clean" or "make dirclean". This approach is more robust than nuking entire directory trees because some parts of them might have been shipped with the original archive. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43904 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
515dd33cf9
commit
f1dfc77d7b
@ -135,7 +135,7 @@ kernel_menuconfig: prepare_kernel_conf
|
||||
kernel_nconfig: prepare_kernel_conf
|
||||
$(_SINGLE)$(NO_TRACE_MAKE) -C target/linux nconfig
|
||||
|
||||
tmp/.prereq-build: include/prereq-build.mk
|
||||
tmp/.prereq-build: $(if $(SDK),.git/config) include/prereq-build.mk
|
||||
mkdir -p tmp
|
||||
rm -f tmp/.host.mk
|
||||
@$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/include/prereq-build.mk prereq 2>/dev/null || { \
|
||||
|
||||
@ -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) ;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user