Hoi Paul, > Er zit een rule "upstream" in debian/rules van een package wat ik graag > wil uitvoeren. Echter als ik "./debian/rules upstream" doe dan zie ik > alleen "make: 'upstream' is bijgewerkt", terwijl het niets gedaan heeft > (het zou localisatie-bestanden moeten downloaden). Als ik er "echo > hallo" bij zet, dan zie ik dat ook niet uitgevoerd worden. Als ik mijn > eigen rule maak met als inhoud "echo hallo" dan gaat het wel goed. > > Wat doe ik verkeerd? Waarschijnlijk bestaat er al een (leeg) bestand genaamd 'upstream' in de debian directory. Dat bestand moet je even weggooien. > Ik vraag me ook af wat een naampje met "$" of "$$" ervoor precies doet, > en waarom zoveel regels eindigen op een backslash, alsof alles op 1 > regel moet (loops e.d.). Een $ geeft aan dat het om een variabele gaat; een Make target kan ook een variabele zijn. Een $$ is een geescapete $, dus daarmee kun je het $ teken doorgeven naar een commando. Omdat Make alle commando's in een aparte sub-shell uitvoert, is het noodzakelijk, dat alle commando's die in dezelfde subshell _moeten_ worden uitgevoerd (zoals loops) op dezelfde regel staan. Vandaar de backslashes. Make is een ingewikkelde tool. Zie http://www.gnu.org/software/make/manual/make.html voor de manual. Groeten, Martijn.
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature