Displaying all available make-targets

At the moment I’m writing a lot of very small testcases, which are all compiled with the same simple command. Since I’m lazy and probably nobody ever needs them again, I’m just adding them as a new target to a single Makefile. The file is now already quite bloated and I forget about the target naming. For that it could be handy to have a command, that simply displays all available targets. A short Google-search brings up a nice script, that does exactly that:

[code language=”bash”]
#!/bin/bash

SCRIPT=’
/^# Make data base/,/^# Files/d # skip until files section
/^# Not a target/,+1 d # following target isnt
/^.PHONY:/ d # special target
/^.SUFFIXES:/ d # special target
/^.DEFAULT:/ d # special target
/^.PRECIOUS:/ d # special target
/^.INTERMEDIATE:/ d # special target
/^.SECONDARY:/ d # special target
/^.SECONDEXPANSION/ d # special target
/^.DELETE_ON_ERROR:/ d # special target
/^.IGNORE:/ d # special target
/^.LOW_RESOLUTION_TIME:/ d # special target
/^.SILENT:/ d # special target
/^.EXPORT_ALL_VARIABLES:/ d # special target
/^.NOTPARALLEL:/ d # special target
/^.ONESHELL:/ d # special target
/^.POSIX:/ d # special target
/^.NOEXPORT:/ d # special target
/^.MAKE:/ d # special target

# The stuff above here describes lines that are not
# explicit targets or not targets other than special ones
# The stuff below here decides whether an explicit target
# should be output.

/^[^#t:=%]+:([^=]|$)/ { # found target block
h # hold target
d # delete line
}
/^# File is an intermediate prerequisite/ { # nope
s/^.*$//;x # unhold target
d # delete line
}
/^([^#]|$)/ { # end of target block
s/^.*$//;x # unhold target
s/:.*$//p # write current target
d # hide any bugs
}

make -npq .DEFAULT 2>/dev/null | sed -n -r "$SCRIPT"
| sort | uniq
[/code]

Having put it with an alias in .bashrc accelerated my workflow a lot. It became also quite handy for larger projects with Makefiles generated by autoconf.

Abisko

Jetzt ist es schon einen Monat her, dass wir in Lappland waren, aber ich bin dennoch erst jetzt dazu gekommen die Bilder zu sortieren und bearbeiten. Hauptsächlich sind wir natürlich ursprünglich wegen der Nordlichter gefahren, aber es war dann doch deutlich mehr geboten!

Nach 18 Stunden Zugfahrt, davon 11 in einem kleinen Schlafabteil, sind wir in Abisko angelangt, fast 1500 km von Stockholm entfernt (übrigens etwa die gleiche Distanz wie Nürnberg-Stockholm…) und knapp 200 km nördlich des Polarkreises. Wettervorhersage war eher mies, Schnee, Wolken, warme Temperaturen. Tatsächlich hatten wir auch fast die gesamte Zeit Plusgrade und wolkenverhangenen Himmel. Untergebracht waren wir im einfachen Abisko.net-Hostel.

Beeindruckt waren wir direkt von dem Riesen-Supermarkt, in dem man vor allem eine gro�e Auswahl an asiatischen Spezialitäten bekam. Wir haben es mal auf den typischen Querschnitt an Besuchern geschoben, der wohl regelmä�ig in dem kleinen �rtchen anzutreffen ist.

Eines der Highlights war das Hundeschlitten-Fahren am zweiten Tag. Jeder hatte einen eigenen Schlitten, dessen Hunde man vorher selbst anspannen musste und mit dem man dann drei Stunden lang durch die Gebirgslandschaft über Abisko heizen konnte. Wenn man in Kolonne fährt ist das auch gar nicht schwierig, da die Hunde dann einfach dem vorhergehenden Schlitten hinterher rennen und man selbst nur gelegentlich Bremsen und sich vor allem gut festhalten muss. Beeindruckend waren Geschwindigkeit und Ausdauer, mit der vier Hunde bergauf und bergab laufen können. Und hinterher war man selbst vermutlich nicht weniger platt als die Vierbeiner, denn meine Rückenmuskulatur habe ich am nächsten Tag noch spüren können…

Am gleichen Tag nahmen wir abends auch an der angebotenen Nordlicht-Tour teil, die auf einen Hügel oberhalb des Ortes führte und somit einen guten Blick auf den Himmel bot ohne vielen störenden Lichtern ausgesetzt zu sein. Dazu gab es ein bisschen wissenschaftliches und mystisches Hintergrundwissen. Die übrigen Abende gingen wir jeweils nur runter auf den See Torneträsk, der dick zugefroren ist und somit auch eine offene Beobachtungsfläche ohne viel störende Lichter bot.

Durch das bewölkte Wetter mussten wir immer wieder auf Wolkenlöcher spekulieren und hoffen, dass das Auftreten dieser mit Nordlichtaktivität zusammen fällt. Zumindest an zwei von drei Abenden klappte das auch, und konnten das Schauspiel beobachten. Es begann ganz langsam, wurde dann plötzlich sehr viel deutlicher und bewegter und verschwand dann auch schnell wieder. Insgesamt jeweils nur ein paar Minuten. Bester Indikator ist übrigens ein Foto, dort sieht man es meist schon viel früher und auch deutlicher als am Himmel selbst.

Die sonstige Zeit nutzten wir z. B. die frei verfügbaren (extrem ramponierten) Langlaufski oder die hosteleigene Sauna.

Bilder gibt es wie gewohnt in der Gallerie.