
### this is the top-level makefile for the opihi.v2 collection of programs

default: all

### the include file dependencies need to be cleaned up still

mana:  lib.data lib.shell cmd.basic cmd.data cmd.astro
dimm:  lib.data lib.shell cmd.basic cmd.data cmd.astro
dvo2:  lib.data lib.shell cmd.basic cmd.data cmd.astro
dvo:   lib.data lib.shell cmd.basic cmd.data cmd.astro
sched: lib.data lib.shell cmd.basic cmd.data cmd.astro
pclient: lib.data lib.shell cmd.basic
pcontrol: lib.data lib.shell cmd.basic

LIBS = cmd.basic cmd.data cmd.astro lib.data lib.shell

PROGRAM = mana dvo

EXTRAS = dvo2 sched dimm pclient pcontrol

all:
	for i in $(PROGRAM); do make $$i || exit; done

extras:
	for i in $(EXTRAS); do make $$i || exit; done

install:
	for i in $(PROGRAM); do make $$i.install || exit; done

clean:
	for i in $(PROGRAM) $(LIBS); do make $$i.clean || exit; done

#############################################################

$(PROGRAM) $(LIBS) $(EXTRAS):
	if [ -d "$@" ]; then (cd $@ && make); fi

%.install:
	if [ -d "$*" ]; then make $*; fi
	if [ -d "$*" ]; then (cd $* && make install); fi

%.clean:
	if [ -d "$*" ]; then (cd $* && make clean); fi

.PHONY: $(PROGRAM) $(LIBS)

