Change build system so that changes to Makefile.defs don't get tracked
[muse-el.git] / lisp / Makefile
blob0c6d9bb89e26c9dd3f5df2f6309186332bc2965c
1 .PHONY: all lisp autoloads clean realclean distclean fullclean install test
2 .PRECIOUS: %.elc
4 DEFS = $(shell test -f ../Makefile.defs && echo ../Makefile.defs \
5 || echo ../Makefile.defs.default)
7 include $(DEFS)
9 EL = $(filter-out $(PROJECT)-autoloads.el,$(wildcard *.el))
10 ELC = $(patsubst %.el,%.elc,$(EL))
12 all: lisp
14 lisp: autoloads $(ELC)
16 $(PROJECT)-build.elc: ../scripts/$(PROJECT)-build.el
17 @echo $(PROJECT)-build.el is not byte-compiled
19 autoloads: $(PROJECT)-autoloads.el
21 $(PROJECT)-autoloads.el: $(EL)
22 @$(EMACS) -q $(SITEFLAG) -batch -l ../scripts/$(PROJECT)-build.el \
23 -f $(PROJECT)-generate-autoloads . ../contrib ../experimental
25 %.elc: %.el
26 @$(EMACS) -q $(SITEFLAG) -batch -l ../scripts/$(PROJECT)-build.el \
27 -f batch-byte-compile $<
29 clean distclean:
30 -rm -f *.elc *~
32 realclean fullclean: clean
33 -rm -f $(PROJECT)-autoloads.el
35 install: autoloads $(ELC)
36 install -d $(ELISPDIR)
37 install -m 0644 $(PROJECT)-autoloads.el $(EL) $(ELC) $(ELISPDIR)
39 test: $(ELC)
40 $(EMACS) -q $(SITEFLAG) -batch -l ../scripts/$(PROJECT)-build.el \
41 -f $(PROJECT)-elint-files $(EL)