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 5 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 ;