Browse Source

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 years ago
parent
commit
ca5d5e9c9b
1 changed files with 19 additions and 13 deletions
  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 ;