dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

Makefile (2554B)


      1 .NOTPARALLEL:	# always run this make serially
      2 .SUFFIXES:	# we don't need default suffix rules
      3 ifeq ($(MAKELEVEL), 0)
      4   $(error This make needs to be started as a sub-make from the toplevel directory.)
      5 endif
      6 
      7 ifneq ($(ORG_ADD_CONTRIB),)
      8   _ORG_ADD_EL_ := \
      9 	$(notdir \
     10 	$(wildcard \
     11 	$(addsuffix .el, \
     12 	$(addprefix ../contrib/lisp/, \
     13 	$(basename \
     14 	$(notdir $(ORG_ADD_CONTRIB)))))))
     15 endif
     16 
     17 LISPV 	:= org-version.el
     18 LISPI 	:= org-loaddefs.el
     19 LISPA 	:= $(LISPV) $(LISPI)
     20 LISPB 	:= $(LISPA:%el=%elc) org-install.elc
     21 LISPF 	:= $(filter-out $(LISPA),$(sort $(wildcard *.el) $(_ORG_ADD_EL_)))
     22 LISPC 	:= $(filter-out $(LISPB) $(LISPN:%el=%elc),$(LISPF:%el=%elc))
     23 _ORGCM_ := dirall single source slint1 slint2
     24 -include local.mk
     25 
     26 .PHONY:	all compile compile-dirty \
     27 	$(_ORGCM_) $(_ORGCM_:%=compile-%) \
     28 	autoloads addcontrib \
     29 	install clean cleanauto cleanall cleanelc clean-install
     30 
     31 # do not clean here, done in toplevel make
     32 all compile compile-dirty::	 autoloads
     33 ifeq ($(filter-out $(_ORGCM_),$(ORGCM)),)
     34 	$(MAKE) compile-$(ORGCM)
     35 else
     36 	$(error ORGCM has illegal value $(ORGCM) (valid: $(_ORGCM_)))
     37 endif
     38 
     39 compile-dirall:	dirall
     40 compile-single: single $(LISPC)
     41 compile-source:	source dirall
     42 compile-slint1:	dirall slint1
     43 compile-slint2:	source dirall slint1
     44 
     45 # internal
     46 dirall:
     47 	@$(info ==================== $@ ====================)
     48 	@$(ELCDIR)
     49 single:
     50 	@$(info ==================== $@ ====================)
     51 source: cleanelc
     52 	@$(info ==================== $@ ====================)
     53 	@$(foreach elc,$(LISPC),$(MAKE) $(elc) && $(RM) $(elc);)
     54 slint1:
     55 	@$(info ==================== $@ ====================)
     56 	@$(foreach elc,$(LISPC),$(RM) $(elc); $(MAKE) $(elc);)
     57 
     58 %.elc:	%.el
     59 	@$(info Compiling single $(abspath $<)...)
     60 	-@$(ELC) $<
     61 
     62 addcontrib:
     63 ifneq ($(ORG_ADD_CONTRIB),)
     64 	$(CP) $(addprefix ../contrib/lisp/,$(_ORG_ADD_EL_)) .
     65 endif
     66 
     67 autoloads:	cleanauto addcontrib $(LISPI) $(LISPV)
     68 
     69 $(LISPV):	$(LISPF)
     70 	@echo "org-version: $(ORGVERSION) ($(GITVERSION))"
     71 	@$(RM) $(@)
     72 	@$(MAKE_ORG_VERSION)
     73 
     74 $(LISPI):	$(LISPV) $(LISPF)
     75 	@echo "org-loaddefs: $(ORGVERSION) ($(GITVERSION))"
     76 	@$(RM) $(@)
     77 	@$(MAKE_ORG_INSTALL)
     78 
     79 install:	 compile $(LISPF)
     80 	if [ ! -d $(DESTDIR)$(lispdir) ] ; then \
     81 	  $(MKDIR) $(DESTDIR)$(lispdir) ; \
     82 	fi ;
     83 	$(CP) $(LISPC) $(LISPF) $(LISPA) $(DESTDIR)$(lispdir)
     84 
     85 cleanauto clean cleanall::
     86 	$(RM) $(LISPA) $(LISPB)
     87 clean cleanall cleanelc::
     88 	$(RM) *.elc
     89 
     90 clean-install:
     91 	if [ -d $(DESTDIR)$(lispdir) ] ; then \
     92 	  $(RM) $(DESTDIR)$(lispdir)/org*.el* $(DESTDIR)$(lispdir)/ob*.el* $(DESTDIR)$(lispdir)/ol*.el* $(DESTDIR)$(lispdir)/ox*.el* ; \
     93 	fi ;