Makefile
Aber wie baut man das am einfachsten? Nach diversen Suchanfragen und lesen von Anleitungen bin ich jetzt schlauer.
Aus meinen Erkenntnissen ist das folgende Template entstanden das. Dieses Skript kann einfach in der Konsole (Linux) aufgerufen werden und schon ist ein einfaches “HelloWorld” Programm in C++ erzeugt.
mkdir src
cat > src/main.cpp <<EOL
#include <iostream>
int main(int argc, char **argv)
{
std::cout << "Hello World!" << std::endl;
return 0;
}
EOL
cat > Makefile.am <<EOL
SUBDIRS = src
EOL
cat > src/Makefile.am <<EOL
bin_PROGRAMS = helloworld
helloworld_SOURCES = main.cpp
EOL
autoscan
mv configure.scan configure.ac
sed 's!AC_CONFIG_SRCDIR!AM_INIT_AUTOMAKE([1.12 foreign no-define]) \
AC_CONFIG_SRCDIR!' configure.ac > configure.ac.tmp
mv configure.ac.tmp configure.ac
sed 's!config.h!src/config.h!' configure.ac > configure.ac.tmp
mv configure.ac.tmp configure.ac
aclocal
autoconf
autoheader
Und jetzt gibt es zwei Möglichkeiten. Wenn ein Projekt nur für den eigenen Rechner erzeugt werden soll, fehlt nur noch
automake --add-missing
Wenn das Projekt aber in einer Sourcecodeverwaltung abgelegt werden soll empfehle ich
automake
Nach dem “checkout” muss allerdings ein
autreconf -fvi
aufgerufen werden.
Anschließend können wir noch ein wenig aufräumen
rm -Rf autom4te.cache
rm autoscan.log
Zu guter letzt ist noch die Datei “configure.ac” -> AC_INIT angepaßt werden. Und schon kann das Entwickeln los gehen.
Dieses Template ist für mein Projekt erstellt worden.
Bei weiteren Fragen bitte ich um eine kurze Email.