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