.PHONY: dirs
dirs: bin share/man/man1

bin:
	mkdir -p bin
share/man/man1:
	mkdir -p share/man/man1

.PHONY: argued
argued: bin/argued
bin/argued: bin ../argued/argued
	cp ../argued/argued bin/
../argued/argued:
	$(MAKE) -C ../argued

.PHONY: bitch
bitch: bin/bitch
bin/bitch: bin ../bitch/bitch
	cp ../bitch/bitch bin/
../bitch/bitch:
	$(MAKE) -C ../bitch

.PHONY: battery
battery: bin/battery
bin/battery: bin ../battery/battery
	cp ../battery/battery* bin/

.PHONY: data
data: bin/data battery ifpublic lowercase str streq
bin/data: bin ../data/data
	cp ../data/data bin/

.PHONY: echo
echo: bin/echo
bin/echo: dirs ../echo/echo
	cp ../echo/echo bin/
share/man/man1/echo.1: dirs ../echo/echo.1
	cp ../echo/echo.1 share/man/man1/
../echo/echo:
	$(MAKE) -C ../echo sane

.PHONY: ifpublic
ifpublic: bin/ifpublic
bin/ifpublic: bin ../ifpublic/ifpublic
	cp ../ifpublic/ifpublic bin/

.PHONY: lowercase
lowercase: bin/lowercase
bin/lowercase: bin ../lowercase/lowercase
	cp ../lowercase/lowercase bin/lowercase
../lowercase/lowercase:
	$(MAKE) -C ../lowercase sane

.PHONY: pscat
pscat: bin/pscat
bin/pscat: bin ../pscat/pscat
	cp ../pscat/pscat bin/pscat
../pscat/pscat:
	$(MAKE) -C ../pscat sane

.PHONY: simexec
simexec: bin/simexec
bin/simexec: bin ../simexec/simexec
	cp ../simexec/simexec bin/simexec
../simexec/simexec:
	$(MAKE) -C ../simexec sane

.PHONY: sleep
sleep: bin/sleep
bin/sleep: bin ../sleep/sleep
	cp ../sleep/sleep bin/sleep
../sleep/sleep:
	$(MAKE) -C ../sleep sane

.PHONY: str
str: bin/str
bin/str: bin ../str/str
	cp ../str/str bin/str
../str/str:
	$(MAKE) -C ../str sane

.PHONY: streq
streq: bin/streq
bin/streq: bin ../streq/streq
	cp ../streq/streq bin/streq
../streq/streq:
	$(MAKE) -C ../streq sane

.PHONY: uppercase
uppercase: bin/uppercase ../lowercase/lowercase
bin/uppercase: bin ../lowercase/uppercase
	cp ../lowercase/uppercase bin/

.PHONY: volume
volume: bin/volume str
bin/volume: bin ../volume/volume
	cp ../volume/volume* bin/
