diff --git a/Makefile b/Makefile index 71e2765db..04635416f 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,8 @@ help helpall:: helpall:: $(info make test - ditto) $(info make compile-dirty - build only stale Org ELisp files) + $(info make compile-single - build using one Emacs process per file) + $(info make compile-source - ditto, but immediately remove byte-compiled file ) $(info make test-dirty - check without building first) $(info ) $(info Compatibility) diff --git a/default.mk b/default.mk index 8476caec1..2ac552b1a 100644 --- a/default.mk +++ b/default.mk @@ -131,10 +131,3 @@ SUDO = sudo # Name of the program to install info files # INSTALL_INFO = ginstall-info # Debian: avoid harmless warning message INSTALL_INFO = install-info - -# target variant for 'compile' -# _COMPILE_ = single # one Emacs process per compilation -# _COMPILE_ = source # ditto, but remove compiled file immediately -# _COMPILE_ = slint1 # possibly elicit more warnings -# _COMPILE_ = slint2 # possibly elicit even more warnings -_COMPILE_ = dirall diff --git a/lisp/Makefile b/lisp/Makefile index c547810c7..ee0caaf8f 100644 --- a/lisp/Makefile +++ b/lisp/Makefile @@ -7,31 +7,23 @@ endif LISPV = org-version.el LISPI = org-install.el LISPA = $(LISPV) $(LISPI) -LISPF = $(filter-out $(LISPA),$(sort $(wildcard *.el))) +LISPF = $(filter-out $(LISPA),$(wildcard *.el)) LISPC = $(filter-out $(LISPN:%el=%elc),$(LISPF:%el=%elc)) -.PHONY: all compile compile-dirty \ - compile-single compile-source compile-slint1 compile-slint2 \ - autoloads \ - install clean cleanauto cleanall cleanelc clean-install +.PHONY: all compile compile-dirty compile-single \ + autoloads \ + install clean cleanauto cleanall clean-install # do not clean here, done in toplevel make -all compile compile-dirty:: autoloads - $(MAKE) compile-$(_COMPILE_) - -compile-dirall: - @$(ELCDIR) -compile-single: $(LISPC) -compile-source: cleanelc +all compile:: autoloads +all compile compile-dirty:: $(LISPI) $(LISPV) + $(ELCDIR) +compile-single: clean autoloads $(LISPC) +compile-source: clean autoloads @$(foreach elc,$(LISPC),$(MAKE) $(elc) && $(RM) $(elc);) -compile-slint1: compile-dirall - @$(foreach elc,$(LISPC),$(RM) $(elc); $(MAKE) $(elc);) -compile-slint2: - $(MAKE) compile-source compile-slint1 %.elc: %.el - @$(info Compiling single $(abspath $<)...) - -@$(ELC) $< + -$(ELC) $(<) autoloads: cleanauto $(LISPI) $(LISPV) @@ -53,7 +45,7 @@ install: $(LISPF) compile cleanauto clean cleanall:: $(RM) $(LISPA) $(LISPA:%el=%elc) -clean cleanall cleanelc:: +clean cleanall:: $(RM) *.elc clean-install: diff --git a/targets.mk b/targets.mk index a0e47eac6..5db69f3c4 100644 --- a/targets.mk +++ b/targets.mk @@ -28,7 +28,7 @@ endif cleancontrib cleantesting cleanutils cleanrel clean-install cleanelc cleandirs \ cleanlisp cleandoc cleandocs cleantest \ - compile compile-dirty uncompiled \ + compile compile-single compile-source compile-dirty uncompiled \ config config-test config-exe config-all config-eol CONF_BASE = EMACS DESTDIR @@ -75,7 +75,7 @@ local.mk: all compile:: $(foreach dir, doc lisp, $(MAKE) -C $(dir) clean;) -compile compile-dirty:: +compile compile-dirty compile-single compile-source:: $(MAKE) -C lisp $@ all clean-install:: $(foreach dir, $(SUBDIRS), $(MAKE) -C $(dir) $@;) @@ -118,25 +118,26 @@ clean: cleanrel $(MAKE) -C lisp clean $(MAKE) -C doc clean -cleanall: cleandirs cleantest +cleanall: cleandirs cleantest cleancontrib cleantesting cleanutils -$(FIND) . -name \*~ -o -name \*# -o -name .#\* -exec $(RM) {} \; - -$(FIND) contrib testing UTILITIES -name \*~ -o -name \*.elc -exec $(RM) {} \; -cleancontrib cleantesting cleanUTILITIES: - -$(FIND) $(@:clean%=%) -name \*~ -o -name \*.elc -exec $(RM) {} \; +cleancontrib: + -$(FIND) contrib -name \*~ -o -name \*.elc -exec $(RM) {} \; -cleanutils: cleanUTILITIES +cleantesting: + -$(FIND) testing -name \*~ -o -name \*.elc -exec $(RM) {} \; + +cleanutils: + -$(FIND) UTILITIES -name \*~ -o -name \*.elc -exec $(RM) {} \; cleanrel: $(RMR) RELEASEDIR $(RMR) org-7.* $(RMR) org-7*zip org-7*tar.gz -cleanelc: - $(MAKE) -C lisp $@ - -cleanlisp: +cleanelc cleanlisp: $(MAKE) -C lisp clean + -$(FIND) lisp -name \*~ -exec $(RM) {} \; cleandoc cleandocs: $(MAKE) -C doc clean