make mit einer Quelle im Internet?

OP #6242074
hallo miteinander!

make muss doch als erstes prüfen, ob sich ein Quelltext geändert hat. 
Wenn ich eine Datei aus dem Internet hole, habe ich eine lokale Kopie 
die sich scheinbar nie mehr ändert. Die echte Quelle ändert sich 
natürlich gelegentlich.
1
wget -N 'http://ftp.iana.org/tz/tzdata/latest.tar.gz'
 funktioniert schon ziemlich richtig indem wget etwas wie HEAD oder 
if-modified-since benutzt und den Download nur bei Bedarf macht.

Wie erkläre ich dem make, dass es erstmal dieses wget aufruft und dann 
(meistens) nichts weiter macht?
Gast #6242104
Du kannst ein separates Target zum updaten externer Dependencies machen.
1
update:
2
  wget ...
3

4
bla.tgz abc.def:
5
  $(MAKE) update
6

7
.PHONY: update

Idealerweise sollte man die Signatur noch Prüfen. Lasse es nicht beim 
Compilieren automatisch zeug runterladen, das ist ganz schlechter style.
OP #6242124
DPA schrieb:
> Lasse es nicht beim
> Compilieren automatisch zeug runterladen, das ist ganz schlechter style.

Das ist mal ein Argument... Aber gut, ich will ja brav sein. Dann ist 
ein extra Target natürlich genau richtig. Dabei fällt mir ein, man 
braucht das ja nur einmal zu Anfang und dann erst wieder beim Release. 
Man muss eben dran denken. Vielleicht baue ich ein echo "nicht vegessen: 
die Politiker ändern gerne die Sommerzeitregeln" ein ;)
Dankeschön!
#6244147
Bauform B. schrieb:
> Dann ist ein extra Target natürlich genau richtig.

Du kannst die Bedingung auch für die Datei selbst definieren:
1
# update latest.tar.gz if needed
2
latest.tar.gz: update-tz
3
update-tz:
4
        wget -N 'pfad/zur/latest.tar.gz'
5
.PHONY: update-tz

Dann brauchst du den Rest vom Makefile nicht anfassen.

Aber es wäre vermutlich trotzdem besser, wenn du einfach vor dem Release 
(oder z.B. einmal im Monat) einfach zwingend runterlädst. Spart Traffic 
auf dem Server.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.