0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-08-19 09:48:42 +00:00
org-mode/lisp/Makefile
Achim Gratz 501f9b1741 use sed instead of perl, add target clean-install
* Makefile, lisp/Makefile, doc/Makefile: add target clean-install
	to remove files in install-directories

	* default.mk: add customization variable $(SED)

	* doc/Makefile: do not remove dir while cleaning

	* lisp/Makefile: use sed instead of perl to weave git-status into
	org.el and ignore any errors while doing it.  Keep git status in
	$(GITSTATUS) to make it more clear what happens in the check.
2012-04-20 21:04:08 +02:00

56 lines
1.4 KiB
Makefile

ifeq ($(MAKELEVEL), 0)
$(error This make needs to be started as a sub-make from the toplevel directory.)
endif
GITVERSION = $(shell git describe --abbrev=6 HEAD)
GITSTATUS = $(shell git status -uno --porcelain)
ifneq ("$(GITSTATUS)", "")
GITVERSION := $(GITVERSION).dirty
endif
LISPO = org-install.el
LISPF = $(subst $(LISPO),,$(wildcard *.el))
LISPC = $(LISPF:%el=%elc)
include dependencies.mk
.PHONY: all autoloads compile install clean cleanall clean-install
all compile: $(LISPC)
autoloads: $(LISPO)
org-install.el: $(LISPC)
$(BATCH) \
--eval "(require 'autoload)" \
--eval '(find-file "$(LISPO)")' \
--eval '(erase-buffer)' \
--eval '(mapc (lambda (x) (generate-file-autoloads (symbol-name x))) (quote ($(LISPF))))' \
--eval '(insert "\n(provide (quote org-install))\n")' \
--eval '(save-buffer)'
install: $(LISPF) compile autoloads
if [ ! -d $(lispdir) ]; then $(MKDIR) $(lispdir); else true; fi ;
$(CP) $(LISPC) $(LISPF) $(LISPO) $(lispdir)
-$(SED) -e 's/^\((defconst org-git-version \).*/\1 "$(GITVERSION)"/;' org.el > $(lispdir)/org.el
$(MAKE) $(lispdir)/org.elc
clean:
$(RM) *.elc
cleanall:
$(RM) *.elc $(LISPO)
clean-install:
if [ ! -d $(lispdir) ]; then $(MKDIR) $(lispdir); else true; fi ;
$(RM) $(lispdir)/org*.el* $(lispdir)/ob*.el*
$(LISPC): dependencies.mk
.SUFFIXES: # we don't need default suffix rules
.SUFFIXES: .el .elc
.el.elc:
$(info in subdir lisp)
$(ELC) $<