#
# Stark vereinfachte version des Problem - Makefile
# Es wird vorausgesetzt dass eine Datei mit dem Namen <src> existiert(z.B. mit `make touch')


.INTERMEDIATE: depp

default: main5

main%: depp
	echo foo > $@

depp: src;



# Meine Absicht war (..aus welchen Gründen auch immer..) ,
# ~~~~~~~~~~~~~~~~
# dass <main5> nur dann remake't wird wenn <src> sich geändert hat und
# zwar unabhängig davon ob <depp> existiert und/oder sich geändert hat.
# (`depp: src' stand übrigens in einer anderen Datei und wurde include't)
#
# Ich bekam
# ~~~~~~~~~
# make: *** No rule to make target `main5', needed by `default'.  Stop.
# Der Ausdruck von `make -d' steht in `debug1.txt'; make-version: 3.78.1 (Linux 2.2.15(SuSE-Linux-6.4))
#
# Erstaunlicherweise
# ~~~~~~~~~~~~~~~~~~
# hat dieselbe Makefile - Datei bei mir zu Hause (SuSE-Linux-6.2(Revision2.2.10; make 3.77)) prima
# funktioniert(wie ich es wollte)!
#
# Folgendes wurde noch(u.a.) unternommen:
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# 1)
# Ich habe dann festgestellt dass `make' nur nach impliziten Regeln für <depp> sucht und andere nicht sieht.
# Mit dem Einfügen der Zeile(z.B.):
#
##dep% : src;
#
# habe ich fast den gewünschten Effekt erreicht: <main5> wurde remake't sobald sich <src> änderte, ABER
# es wurde auch remake't bei Änderung von <depp>!
#
# 2)
#
# Mit alles oben rauskommentiert und eingefügt:
#
##.INTERMEDIATE: depp
##
##default: main5
##
##main5: depp
##	echo foo > $@
##
##depp: src;
##
#
# gab es auch etwas was ich nicht verstehe (aus der Dokumentation glaubte ich diese Materie zu verstehen
# und bei mir zu Hause(s. oben) funktionierte alles auch nach meinen Vorstellungen) und zwar:
# Änderungen an der Datei <depp> (touch depp) lösen erneute Kompilation aus!
#
# Bitte an Leser
# ~~~~~~~~~~~~~~
#
# Leute, ich habe mir mit diesen Problemen(?) etliche Stunden um die Ohren geschlagen und es würde mich
# wirklich interessieren was los war (wenn auch "RTFM").
#
# Danke für Aufmerksamkeit
# Mfg, Viktor (kaufman@fkp.tu-darmstadt.de)
#


clean:
	rm -f depp; rm -f main5
touch:
	touch src
