shithub: mc

Download patch

ref: 7c5a1bde6ba49b0b9dbc3980084546efc1a42ae7
parent: 77c5545e66f2d1457dc79f409cb1858ba2f7605a
author: Ori Bernstein <[email protected]>
date: Tue Dec 17 18:17:01 EST 2013

Update the makefile to the newest version.

    We updated it for libregex, and now we're sharing the love.

--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,6 @@
 MYRLIB=bio
 MYRSRC= \
 	bio.myr
-SUB=test
 
 include config.mk
 include mk/myr.mk
--- a/mk/myr.mk
+++ b/mk/myr.mk
@@ -2,8 +2,36 @@
     _LIBNAME=lib$(MYRLIB).a
 endif
 
-all: $(_LIBNAME) $(MYRBIN)
+all: subdirs $(_LIBNAME) $(MYRBIN) 
 
+subdirs:
+	@for i in $(SUB); do (\
+	    cd $$i && \
+	    $(MAKE) || \
+	    exit 1 \
+	) || exit 1; done
+
+subdirs-clean:
+	@for i in $(SUB); do (\
+	    cd $$i && \
+	    $(MAKE) clean|| \
+	    exit 1 \
+	); done
+
+subdirs-install:
+	@for i in $(SUB); do (\
+	    cd $$i && \
+	    $(MAKE) install|| \
+	    exit 1 \
+	); done
+
+subdirs-uninstall:
+	@for i in $(SUB); do (\
+	    cd $$i && \
+	    $(MAKE) uninstall|| \
+	    exit 1 \
+	); done
+
 $(_LIBNAME): $(MYRSRC) $(ASMSRC)
 	myrbuild -l $(MYRLIB) $^
 
@@ -13,12 +41,13 @@
 OBJ=$(MYRSRC:.myr=.o) $(ASMSRC:.s=.o)
 USE=$(MYRSRC:.myr=.use) $(MYRLIB)
 .PHONY: clean
-clean:
+clean: subdirs-clean
 	rm -f $(OBJ)
 	rm -f $(USE)
 	rm -f lib$(MYRLIB).a
 
-install: install-bin install-lib
+install: subdirs-install install-bin install-lib install-man
+uninstall: subdirs-uninstall uninstall-bin uninstall-lib uninstall-man
 
 install-bin: $(MYRBIN)
 	@if [ ! -z "$(MYRBIN)" ]; then \
@@ -35,6 +64,34 @@
 		install -m 644 $(_LIBNAME) $(INST_ROOT)/lib/myr; \
 		install -m 644 $(MYRLIB) $(INST_ROOT)/lib/myr; \
 	fi
+
+install-man:
+	@for i in $(MAN); do \
+	    MANSECT=$$(echo $$i | awk -F. '{print $$NF}'); \
+	    echo mkdir -p $(INST_ROOT)/share/man/man$$MANSECT; \
+	    echo install -m 644 $(MAN) $(INST_ROOT)/share/man/man$${MANSECT}; \
+	    mkdir -p $(INST_ROOT)/share/man/man$$MANSECT; \
+	    install -m 644 $(MAN) $(INST_ROOT)/share/man/man$${MANSECT}; \
+	done \
+
+uninstall-bin: $(MYRBIN)
+	@for i in $(MYRBIN); do \
+	    echo rm -f $(INST_ROOT)/bin/$$i; \
+	    rm -f $(INST_ROOT)/bin/$$i; \
+	done
+
+uninstall-lib: $(_LIBNAME)
+	@for i in $(_LIBNAME) $(MYRLIB); do \
+	    echo rm -f $(INST_ROOT)/lib/myr/$$i; \
+	    rm -f $(INST_ROOT)/lib/myr/$$i; \
+	done
+
+uninstall-man:
+	@for i in $(MAN); do \
+	    MANSECT=$$(echo $$i | awk -F. '{print $$NF}'); \
+	    echo rm -f $(INST_ROOT)/share/man/man$${MANSECT}/$$i; \
+	    rm -f $(INST_ROOT)/share/man/man$${MANSECT}/$$i; \
+	done
 
 config.mk:
 	./configure