Makefile quoting

Hi,
ich will aus einem Makefile raus einen perl-Einzeiler aufrufen. Dummerweise ersetzt mir make jedes $… durch irgendwas. Wie kann ich das verhindern?
Danke im Voraus,
Moritz

Hallo,

ich will aus einem Makefile raus einen perl-Einzeiler
aufrufen. Dummerweise ersetzt mir make jedes $… durch
irgendwas.

Suchst Du „“?

Wie kann ich das verhindern?

„info make“ lesen.

Gruß,

Sebastian

Hi,
danke fuer die schnelle antwort

Suchst Du „“?

Das dachte ich auch…

perl -e ‚open („testfile“, IN); @a = ; $_ = join @a; s/\n/ /; print $_, $/;‘| ./$(BIN) > /tmp/wsort_test

wird zu

perl -e ‚open („testfile“, IN); @a = ; /usr/bin/make = join @a; s/\n/ /; print /usr/bin/make, ;‘| ./wsort > /tmp/wsort_test
Bareword found where operator expected at -e line 1, near „/usr/bin“
(Missing operator before bin?)
Bareword found where operator expected at -e line 1, near „/usr/bin“
(Missing operator before bin?)
Can’t modify reference constructor in scalar assignment at -e line 1, near „;“
syntax error at -e line 1, near „/usr/bin“
syntax error at -e line 1, near „/usr/bin“
Execution of -e aborted due to compilation errors.

ich sollte vielleicht @ nicht quoten, aber das mit $ bleibt…

„info make“ lesen.

daraus werde ich nicht besonders schlau. Da steht nur dass hashes # mit backslash gequotet werden koennen. Von Variablen habe nichts gefunden.
Gruesse,
Moritz

mal ne idee von nem laien
kannste keine Variable definieren, in der ein $ steht?

kannste keine Variable definieren, in der ein $ steht?

Aeh… ja. Oder eher: nein.

Noch ne Idee vom Laien (auf perl hab ich gerade keinen Bock):

frank@harbard [~] $ cat Makefile 
all:
 echo $$HOME
frank@harbard [~] $ make 
echo $HOME
/home/frank
frank@harbard [~] $

Hey, das funktioniert sogar.

HTH,
Gruss vom Frank.

1 „Gefällt mir“

Danke
Das war genau das was ich suchte!
Gruesse,
Moritz