Add uninstall targets
These targets can be used to remove (parts of) the file installation. They are also used by the cleanup targets to remove complete submodules from the installation.
This commit is contained in:
parent
50c3f9ade9
commit
ea413a5023
1 changed files with 23 additions and 4 deletions
27
dotfiles.mk
27
dotfiles.mk
|
@ -20,27 +20,33 @@ check-objects=$(addprefix check-,$(objects))
|
|||
install-objects=$(addprefix install-,$(objects))
|
||||
reverse-objects=$(addprefix reverse-,$(objects))
|
||||
cleanup-objects=$(addprefix cleanup-,$(objects))
|
||||
uninstall-objects=$(addprefix uninstall-,$(objects))
|
||||
|
||||
check-modules=$(addprefix check-,$(modules))
|
||||
install-modules=$(addprefix install-,$(modules))
|
||||
reverse-modules=$(addprefix reverse-,$(modules))
|
||||
cleanup-modules=$(addprefix cleanup-,$(modules))
|
||||
uninstall-modules=$(addprefix uninstall-,$(modules))
|
||||
|
||||
.PHONY: all install cleanup check cleanup $(modules) \
|
||||
$(install-objects) $(cleanup-objects) $(check-objects) \
|
||||
$(install-modules) $(cleanup-modules) $(check-modules) \
|
||||
$(reverse) $(reverse-objects) $(reverse-modules)
|
||||
$(reverse) $(reverse-objects) $(reverse-modules) \
|
||||
$(uninstall-objects) $(uninstall-modules)
|
||||
all: $(modules) $(objects)
|
||||
|
||||
ifeq ($(MAKEROOT),y)
|
||||
check: $(check-modules) $(check-objects)
|
||||
install: cleanup $(install-modules) $(install-objects) Makefile.old
|
||||
reverse: $(reverse-modules) $(reverse-objects)
|
||||
uninstall: $(uninstall-modules) $(uninstall-objects)
|
||||
@rmdir --ignore-fail-on-non-empty $(DESTDIR) 2> /dev/null || true
|
||||
ifeq ($(firstword $(MAKEFILE_LIST)),Makefile.old)
|
||||
cleanup: $(cleanup-modules) $(cleanup-objects)
|
||||
@rmdir --ignore-fail-on-non-empty $(DESTDIR) 2> /dev/null || true
|
||||
else
|
||||
cleanup: export NEWLIST = $(objects)
|
||||
cleanup: export NEWOBJS = $(objects)
|
||||
cleanup: export NEWMODS = $(modules)
|
||||
cleanup:
|
||||
@$(MAKE) -s -f Makefile.old cleanup
|
||||
|
||||
|
@ -60,6 +66,8 @@ reverse:
|
|||
@$(MAKE) -s -C ../ reverse
|
||||
cleanup:
|
||||
@$(MAKE) -s -C ../ cleanup
|
||||
uninstall:
|
||||
@$(MAKE) -s -C ../ uninstall
|
||||
endif
|
||||
|
||||
$(modules): %:
|
||||
|
@ -85,14 +93,16 @@ $(reverse-modules): reverse-%:
|
|||
@$(MAKE) -s -C $* reverse MKDPREFIX=$(MKDPREFIX)$*/
|
||||
|
||||
$(cleanup-objects): cleanup-%:
|
||||
@$(if $(findstring $*,$(NEWLIST)),, \
|
||||
@$(if $(findstring $*,$(NEWOBJS)),, \
|
||||
@$(if $(call older,$*), \
|
||||
echo -e "$(FG_RED)+ $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)", \
|
||||
echo -e "$(FG_GRE)- $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)"; \
|
||||
unlink "$(DESTDIR)/$*" || true))
|
||||
|
||||
$(cleanup-modules): cleanup-%:
|
||||
@$(MAKE) -C $* cleanup MKDPREFIX=$(MKDPREFIX)$*/
|
||||
@$(if $(findstring $*,$(NEWMODS)), \
|
||||
@$(MAKE) -C $* cleanup MKDPREFIX=$(MKDPREFIX)$*/, \
|
||||
@$(MAKE) -C $* uninstall MKDPREFIX=$(MKDPREFIX)$*/)
|
||||
|
||||
$(check-objects): check-%:
|
||||
@$(if $(call newer,$*), \
|
||||
|
@ -104,5 +114,14 @@ $(check-objects): check-%:
|
|||
$(check-modules): check-%:
|
||||
@$(MAKE) -s -C $* check MKDPREFIX=$(MKDPREFIX)$*/
|
||||
|
||||
$(uninstall-objects): uninstall-%:
|
||||
@$(if $(call older,$*), \
|
||||
echo -e "$(FG_RED)+ $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)", \
|
||||
echo -e "$(FG_GRE)- $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)"; \
|
||||
unlink "$(DESTDIR)/$*" || true)
|
||||
|
||||
$(uninstall-modules): uninstall-%:
|
||||
@$(MAKE) -s -C $* uninstall MKDPREFIX=$(MKDPREFIX)$*/
|
||||
|
||||
$(filter %.elc,$(objects)): %.elc: %.el
|
||||
$(call compile,$^)
|
||||
|
|
Loading…
Reference in a new issue