[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian/rules, een rule uitvoeren



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


Reply to: