Browse Source

more robust shell code for install/clean-install

	{etc,lisp}/Makefile: use shell instead of make for looping, make
	code more robust
Achim Gratz 9 years ago
parent
commit
24fa46a9e5
2 changed files with 18 additions and 7 deletions
  1. 12 4
      etc/Makefile
  2. 6 3
      lisp/Makefile

+ 12 - 4
etc/Makefile

@@ -12,12 +12,20 @@ endif
 all:
 
 install:	$(ETCDIRS)
-	$(foreach dir, $?, if [ ! -d $(DESTDIR)$(datadir)/$(dir) ]; then $(MKDIR) $(DESTDIR)$(datadir)/$(dir); else true; fi ; $(CP) $(dir)/* $(DESTDIR)$(datadir)/$(dir); )
+	for dir in $? ; do \
+	  if [ ! -d $(DESTDIR)$(datadir)/$${dir} ] ; then \
+	    $(MKDIR) $(DESTDIR)$(datadir)/$${dir} ; \
+	  fi ; \
+	  $(CP) $${dir}/* $(DESTDIR)$(datadir)/$${dir} ; \
+	done ;
 
 clean:
 
 cleanall:
 
-clean-install:
-	if [ ! -d $(DESTDIR)$(datadir) ]; then $(MKDIR) $(DESTDIR)$(datadir); else true; fi ;
-	$(RMR) $(DESTDIR)$(datadir)
+clean-install:	$(ETCDIRS)
+	for dir in $? ; do \
+	  if [ -d $(DESTDIR)$(datadir)/$${dir} ] ; then \
+	    $(RMR) $(DESTDIR)$(datadir)/$${dir} ; \
+	  fi ; \
+	done ;

+ 6 - 3
lisp/Makefile

@@ -33,7 +33,9 @@ org-install.el:	$(LISPF)
 	$(ORG-INSTALL)
 
 install:	$(LISPF) compile autoloads
-	if [ ! -d $(DESTDIR)$(lispdir) ]; then $(MKDIR) $(DESTDIR)$(lispdir); else true; fi ;
+	if [ ! -d $(DESTDIR)$(lispdir) ] ; then \
+	  $(MKDIR) $(DESTDIR)$(lispdir) ; \
+	fi ;
 	$(CP) $(LISPC) $(LISPF) $(LISPO) $(DESTDIR)$(lispdir)
 
 clean:
@@ -46,5 +48,6 @@ cleanall:
 	$(RM) *.elc $(LISPO)
 
 clean-install:
-	if [ ! -d $(DESTDIR)$(lispdir) ]; then $(MKDIR) $(DESTDIR)$(lispdir); else true; fi ;
-	$(RM) $(DESTDIR)$(lispdir)/org*.el* $(DESTDIR)$(lispdir)/ob*.el*
+	if [ -d $(DESTDIR)$(lispdir) ] ; then \
+	  $(RM) $(DESTDIR)$(lispdir)/org*.el* $(DESTDIR)$(lispdir)/ob*.el* ; \
+	fi ;