Makefile mit Dateien in anderem (Arbeits-)verzeichnis

20/09/2008 - 17:46 von Peter Mairhofer | Report spam
Hi,

ist es möglich, ein Makefile auf ein anderes Arbeitsverzeichnis als das
aktuelle zu verwenden? Und zwar incl. Makros wie patsubst? Am besten
wàre es, wenn ich das Verzeichnis dann per Parameter dem make selbst
übergeben könnte. Konkret z.B.:

$ pwd
/home/me/scripts
$ ls
[...]
do_dies
do_das
do_was_andres
get_macros
Makefile.macros
$ make -f Makefile.macros /home/me/daten/input

Das soll nun im aktuellen Arbeitsverzeichnis ausgeführt werden, jedoch
mit den Dateien in /home/me/daten/input.

So, und warum würde ich sowas wollen?

Für ein proprietàres Projekt schreibe ich gerade einen komplexen
Scriptchain, der sich in /home/me/scripts befindet. Dort sind
haufenweise PHP und Perlscripts und auch Module die die Perlscripts
verwenden. Den kompletten Toolchain verwalte ich mit SVN (und möchte
auch nur das eine Verzeichnis mit SVN verwalten!)

Die Eingabedateien (RTF-Dateien) für diese Chain legen User auf über ein
Samba-Netzlaufwerk nach /home/me/daten/input. Und die sollen eben
*keinen* Code vom Chain enthalten sondern *nur* die Eingabedaten, die
der User dort hinkopiert.

make möchte ich verwenden, weil die Arbeitsschritte teilweise sehr
arbeitsintensiv sind und für jede Dateien Zwischenergebnisse gemacht
werden sollen. Tritt ein Fehler auf, soll eben nicht von vorn angefangen
werden.

Mein aktuelles Makefile:

GETMACROS = get_macros.pl

FNOTES = $(patsubst %.rtf,%.footnotes,$(wildcard *.rtf))

all: $(FNOTES)

%.footnotes: %.rtf
$(GETMACROS) $< $@

clean:
$(RM) *.footnotes

Wie man dem Skript entnehmen kann, erstellt es für alle RTF-Dateien im
aktuellen Verzeichnis *.footnotes Dateien und zwar mit dem Perlscript
get_macros.pl.

Nun soll sich aber wie gesagt das Makefile dazu in einem anderen
Verzeichnis befinden (im gleichen wie get_macros.pl) und auch von diesem
Arbeitsverzeichnis aus ausgeführt werden (damit die Perlscripts z.B.
ihre ganzen Module finden oder die PHP Scripte ihre relativen Includes)



lg,
Peter
 

Lesen sie die antworten

#1 Fr
20/09/2008 - 17:57 | Warnen spam
Hallo Peter,

Peter Mairhofer schrieb:
ist es möglich, ein Makefile auf ein anderes Arbeitsverzeichnis als das
aktuelle zu verwenden? [...]



direkt kann ich dir die Frage nicht beantworten, aber
wàre es ein Problem über einen symbolischen Link (Softlink)
aus dem jeweiligen Verzeichnis zuzugreifen?

HDH,
Frank

Ähnliche fragen