2010-07-08 16 views
14

Tak więc kilka lat temu poświęciłem trochę czasu na grok make, a to się opłaca ogromnie. Pisanie małych plików Makefile do budowania moich projektów i zadań automatyzacji jest zabawne i produktywne.Jak poznać radość autotools?

Wadą jest oczywiście to, że moje pliki Makefile są niespecyficzne, szczególnie jeśli chodzi o platformy i biblioteki.

To jest punkt, w którym ludzie mówią mi "autotools na ratunek!" I na pewno wydają się robić sztuczkę, gdy inni ludzie je robią (uwielbiam coś pobierać i uruchamiać configure && make && sudo make install i oglądać go po prostu działa), ale nie mogę otoczyć ich głową.

Sprawdziłem w niektórych plikach configure.ac i Makefile.am, a ja po prostu nie rozumiem, co się dzieje. Nie wiem, jaka część identyfikatorów jest wyborem programisty i jaka część jest znacząca dla autotools. Nie jestem pewien, czy rozumiem cały przepływ i punkt Makefile.in. Myślę, że po prostu uderzam w mentalną ścianę wychodzącą z systemu, do którego jestem przyzwyczajony (make) do czegoś, co jest warstwą lub dwiema powyżej.

Czy ktoś może wskazać mi poradnik lub książkę (najlepiej niezbyt wyschniętą), która może nauczyć mnie radości z autotoolingu? Jakie są kroki i jak mogę z nich korzystać, w jaki sposób mogę napisać od zera własne configure.ac i Makefile.am? Pokaż mi, jak być skutecznym i dobrze się bawić z nimi?

+2

Naprawdę nie odpowiada na twoje pytanie, ale możesz również rozważyć cmake. Zauważyłem, że praca z nim jest o wiele prostsza niż zwykłe autotools. –

+9

Ty, jako użytkownik, nauczyłeś się radości z autotools. Teraz dowiesz się, że to boli :) –

+1

Naprawdę mogę potwierdzić komentarze z @Evan Teran i @Vitor Py. Autotools (szczególnie gdy są razem z libtoolem) mają tendencję do powodowania dużego bólu. Tutaj w firmie odchodzimy od autotoolów do cmake, bez żalu. – Rudi

Odpowiedz

5

Chociaż uważam Alexandre Duret-Lutz autotools samouczek, o którym mowa w odpowiedzi ElmarCo jest, aby być bardzo najlepszy dostępny, należy również wiedzieć o Kozła książce:

http://sourceware.org/autobook/

wersje narzędzi którymi się zajmuje są dość stare, ale jest to miły wstęp i jest przedstawiane w logicznej kolejności. Jest także bardziej kompletny niż samouczek. Jest prawdopodobnie najlepiej wykorzystany jako czytanie uzupełniające po przepracowaniu Tutoriala.

UPDATE Jest też John Calcote's book, została opublikowana około sierpnia 2010 roku i jest naprawdę dobra. Nie jestem pewien, czy cała książka jest online pod tym linkiem, ale przynajmniej jej część jest.

9

Nie jestem pewien, czy możesz się dobrze bawić z systemami kompilacji ... Czy czytasz samouczek Autotools?

http://www.lrde.epita.fr/~adl/autotools.html

Istnieją różne środki o autotools, problem jest na ogół są one niekompletne, nieaktualne nieco etc ...

Jednym z ostatnich i doskonały dokument jest Autotools Pogromcy mitów, choć nie jest wstępem :

http://www.flameeyes.eu/autotools-mythbuster/index.html

+2

+1 za linki, dzięki! Mam jednak nadzieję, że się mylisz w związku z początkowym roszczeniem. Ponieważ programowanie (i każdy wystarczająco złożony system kompilacji to programowanie), często myślę, że jeśli nie masz dobrej zabawy, robisz to źle. Może to być ta sama tendencja, która powoduje, że programiści preferują najbardziej złożone rozwiązanie, gdy zrobi to proste, ale wydaje się, że jest to głos na moderację bardziej niż cokolwiek innego. – rampion

+1

Najbardziej pouczająca część Samouczka Autotools była dla mnie schematem, z którego pliki są używane do generowania innych plików i tego, co mają zrobić. W tym momencie zrozumiałem Radość Autotools i przestałem widzieć ich jako voodoo. – ptomato

+1

Po paru sekundach wspomniałem o samouczku Autotools Alexandre'a Duret-Lutza (pierwszy wspomniany link). Jeśli poświęcisz na to tylko godzinę lub dwie, zanim przejdziesz przez jego doskonały zestaw slajdów, nauczysz się wystarczająco dużo Autotools, aby przetrwać w większości przypadków. –