ubuntuusers.de

Problem mit makefile

Status: Gelöst | Ubuntu-Version: Ubuntu MATE 20.04 (Focal Fossa)
Antworten |

Schmutzfink

Anmeldungsdatum:
29. Juni 2008

Beiträge: 91

Ich versuche gerade ein selbst gebasteltes Programm per Makefile zu installieren. Anfangs funktionierte das auch, bis ich zusätzliche Dateien brauchte.

Ich bekomme jetzt folgende Fehlermeldung:

$ sudo make install
install vted /usr/local/bin/
mkdir: das Verzeichnis »/usr/local/share/vted/“ kann nicht angelegt werden: Die Datei existiert bereits
makefile:58: recipe for target 'install' failed
make: *** [install] Error 1

Die Fehlermeldung ist im Prinzip richtig, aber wie kann ich die vermeiden?

In Makefile stht da folgendes:

...
PROGDIR    := /usr/local/bin/
ICONDIR    := /usr/share/pixmaps/
DESKTOPDIR := /usr/share/applications/
FILESDIR   := /usr/local/share/vted/
...
install: $(TARGET)
	install $(TARGET) ${PROGDIR}
	@cp -u $(TARGET).png ${ICONDIR}
	@cp -u $(TARGET).desktop ${DESKTOPDIR}
	@mkdir $(FILESDIR)
	@cp -u frame_mask.png $(FILESDIR)
	@cp -u $(TARGET).cfg $(FILESDIR)

Da ich mich mit Makefiles nicht wirklich auskenne, habe ich das aus einem Buch abgeschrieben und etwas angepasst. Ich müsste da wohl vorher abfragen, ob das Verzeichnis vorhanden ist, aber wie baue ich das in ein Makefile ein? Das ist ja kein Bash Script.

Axel-Erfurt

Anmeldungsdatum:
18. Mai 2016

Beiträge: 1347

Verwende

mkdir -p

dann wird der Ordner nur angelegt falls er nicht existiert.

Schmutzfink

(Themenstarter)

Anmeldungsdatum:
29. Juni 2008

Beiträge: 91

Danke. Ich hatte das -p immer nur mit parent directories in Verbindung gebracht.

Antworten |