浏览代码

Makefile: fix a bug with ORG_ADD_CONTRIB

* lisp/Makefile: The added files from contrib need to be known before
  LISPF is constructed.  Also, make all variables simply defined to
  avoid recursive evaluation.
Achim Gratz 12 年之前
父节点
当前提交
ca5d5e9c9b
共有 1 个文件被更改,包括 19 次插入13 次删除
  1. 19 13
      lisp/Makefile

+ 19 - 13
lisp/Makefile

@@ -4,13 +4,23 @@ ifeq ($(MAKELEVEL), 0)
   $(error This make needs to be started as a sub-make from the toplevel directory.)
 endif
 
-LISPV = org-version.el
-LISPI = org-loaddefs.el
-LISPA = $(LISPV) $(LISPI)
-LISPB = $(LISPA:%el=%elc) org-install.elc
-LISPF = $(filter-out $(LISPA),$(sort $(wildcard *.el)))
-LISPC = $(filter-out $(LISPB) $(LISPN:%el=%elc),$(LISPF:%el=%elc))
-_ORGCM_ = dirall single source slint1 slint2
+ifneq ($(ORG_ADD_CONTRIB),)
+  _ORG_ADD_EL_ := \
+	$(notdir \
+	$(wildcard \
+	$(addsuffix .el, \
+	$(addprefix ../contrib/lisp/, \
+	$(basename \
+	$(notdir $(ORG_ADD_CONTRIB)))))))
+endif
+
+LISPV 	:= org-version.el
+LISPI 	:= org-loaddefs.el
+LISPA 	:= $(LISPV) $(LISPI)
+LISPB 	:= $(LISPA:%el=%elc) org-install.elc
+LISPF 	:= $(filter-out $(LISPA),$(sort $(wildcard *.el) $(_ORG_ADD_EL_)))
+LISPC 	:= $(filter-out $(LISPB) $(LISPN:%el=%elc),$(LISPF:%el=%elc))
+_ORGCM_ := dirall single source slint1 slint2
 -include local.mk
 
 .PHONY:	all compile compile-dirty \
@@ -51,11 +61,7 @@ slint1:
 
 addcontrib:
 ifneq ($(ORG_ADD_CONTRIB),)
-	$(CP) $(wildcard \
-		$(addsuffix .el, \
-		$(addprefix ../contrib/lisp/, \
-		$(basename \
-		$(notdir $(ORG_ADD_CONTRIB)))))) .
+	$(CP) $(addprefix ../contrib/lisp/,$(_ORG_ADD_EL_)) .
 endif
 
 autoloads:	cleanauto addcontrib $(LISPI) $(LISPV)
@@ -70,7 +76,7 @@ $(LISPI):	$(LISPV) $(LISPF)
 	@$(RM) $(@)
 	@$(MAKE_ORG_INSTALL)
 
-install:	$(LISPF) compile
+install:	 compile $(LISPF)
 	if [ ! -d $(DESTDIR)$(lispdir) ] ; then \
 	  $(MKDIR) $(DESTDIR)$(lispdir) ; \
 	fi ;