Betrachten Sie das folgende MakefileWie kann ich eine Variablendefinition über mehrere Zeilen in einem Makefile ohne Leerzeichen aufteilen?
CP = .:${HADOOP_HOME}/share/hadoop/common/lib/hadoop-auth-2.2.0.jar:\
${HADOOP_HOME}/share/hadoop/hdfs/hadoop-hdfs-2.2.0.jar:\
${HADOOP_HOME}/share/hadoop/common/hadoop-common-2.2.0.jar:\
${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.2.0.jar:\
${HADOOP_HOME}/share/hadoop/mapreduce/lib/hadoop-annotations-2.2.0.jar\
all:
echo $(CP)
Der Ausgang make
des Laufens ist
.:/home/hduser/Hadoop/hadoop-2.2.0/share/hadoop/common/lib/hadoop-auth-2.2.0.jar: /home/hduser/Hadoop/hadoop-2.2.0/share/hadoop/hdfs/hadoop-hdfs-2.2.0.jar: /home/hduser/Hadoop/hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar: /home/hduser/Hadoop/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.2.0.jar: /home/hduser/Hadoop/hadoop-2.2.0/share/hadoop/mapreduce/lib/hadoop-annotations-2.2.0.jar
Beachten Sie, dass es Räume nach jedem :
.
Gibt es eine Möglichkeit, die Variable CP
mit den Zeilenumbrüchen zu definieren, aber ohne den zusätzlichen Platz, der jede neue Zeile ersetzt?
Ich bin auf 'GNU 3.81' machen, aber der Code, den Sie sich vorgestellt nicht den gewünschten Effekt haben. Die Räume sind immer noch da. – merlin2011
Insbesondere erzeugt echo $ (subst ,, $ (CP)) 'die gleiche Ausgabe wie' echo $ (CP) '. – merlin2011
Entschuldigung; einen Doppelpunkt hinzugefügt - versuchen Sie es jetzt? – tripleee