# This list must always include all directories.
# Used for "distribution" and "print".

ALLDIRS	= apps doc h lib man monolith tools

# This list must contain all directories with source code.
# Used for "clean", "default", "depend", and "lint".
# ORDER IS SIGNIFICANT.

SRCDIRS	= lib apps

# This list must contain all directories to be installed.
# Used for "inst-all".
# ORDER IS SIGNIFICANT.

INSTDIRS = lib apps man

# Some makes use the value of $SHELL, not /bin/sh.

SHELL = /bin/sh

default:
	for d in $(SRCDIRS); do \
		( cd $$d ; \
		  echo Running \"./gen $(MFLAGS) $@\" in \"$$d\" ; \
		  ./gen $(MFLAGS) $@ ) done

depend:
	for d in $(SRCDIRS); do \
		( cd $$d ; \
		  echo Running \"./gen $(MFLAGS) $@\" in \"$$d\" ; \
		  ./gen $(MFLAGS) $@ ) done

lint:
	for d in $(SRCDIRS); do \
		( cd $$d ; \
		  echo Running \"./gen $(MFLAGS) $@\" in \"$$d\" ; \
		  ./gen $(MFLAGS) $@ ) done

lint-lib:
	for d in $(SRCDIRS); do \
		( cd $$d ; \
		  echo Running \"./gen $(MFLAGS) $@\" in \"$$d\" ; \
		  ./gen $(MFLAGS) $@ ) done

clean:
	for d in $(SRCDIRS); do \
		( cd $$d ; \
		  echo Running \"./gen $(MFLAGS) $@\" in \"$$d\" ; \
		  ./gen $(MFLAGS) $@ ) done

print:
	for d in $(ALLDIRS); do \
		( cd $$d ; \
		  echo Running \"./gen $(MFLAGS) $@\" in \"$$d\" ; \
		  ./gen $(MFLAGS) $@ ) done

distribution:
	for d in $(ALLDIRS); do \
		( cd $$d ; \
		  echo Running \"./gen $(MFLAGS) $@\" in \"$$d\" ; \
		  ./gen $(MFLAGS) $@ ) done
	$(MAKE) -f Makefile.com $(MFLAGS) $@

inst-all:
	for d in $(INSTDIRS); do \
		( cd $$d ; \
		  echo Running \"./gen $(MFLAGS) inst-all\" in \"$$d\" ; \
		  ./gen $(MFLAGS) inst-all ) done

$(ALLDIRS): true
	( cd $@ ; echo Running \"./gen $(MFLAGS)\" in \"$@\" ; \
	  ./gen $(MFLAGS) )

true:;
