Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » autoconf, automake, autoscan, auto......

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.03.2004, 14:22 Uhr
Pablo
Supertux
(Operator)


Hat jemand von euch Erfahrung mit dem GNU Build System?
(Bitte, keine Antworte wie man autoconf oder info autoconf, da ich info autoconf grad lese )

Ich bin ein bisschen ungeduldig und will nicht alles lesen, weil es sehr lang ist. Hat jemand ein kleines Beispiel, wie ich das machen kann?

Ich selbest folgendes ausprobiert:
Ich habe als Source Tree

bash:

$ find
.
./AUTHORS
./COPYING
./TODO
./turmach
./turmach/main.c
./README



Und main.c ist nur Hello World, also nur ein Printf Anweisung in int main()

Der ganz Source Code wird sich eigentlich im Ordner turmach befinden, in . sind die COPY, TODO usw. Dateien, configure und die Makefile für make und make install.

Was ich anhand info autoconf selber gemacht habe ist folgendes:


bash:

$ autoscan
$ cp configure.scan configure.in
$ autoconf
$ nano Makefile.am



Und in Makefile.am befindet sich folgendes

Code:
bin_PROGRAMS = hello
hello_SOURCES = turmach/main.c



Und dann

bash:

$ automake


Was ich bekomme

Code:
automake: configure.in: `PACKAGE' not defined in `configure.in'
automake: configure.in: `VERSION' not defined in `configure.in'
automake: configure.in: required file `./install-sh' not found
automake: configure.in: required file `./mkinstalldirs' not found
automake: configure.in: required file `./missing' not found
automake: no `Makefile.am' found or specified


Wieso fehlen mir diese Dateie, bzw. woher kriege ich sie? Und warum no Makefile.am specified, wenn ich doch eine Datei Makefile.am habe?

Kann mir jemand ein kleines Beispiel zeigen oder sagen, wass ich falsch gemacht habe?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 07.03.2004 um 19:28 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.03.2004, 19:27 Uhr
Pablo
Supertux
(Operator)


Ich habe mittlerweile geschafft, dass man ./configure, make und make install eingeben kann.

Mein Source Tree sieht jetzt so aus

bash:

rex@supertux:~/projects/turmach/turmach-1.0.0> find
.
./AUTHORS
./COPYING
./src
./src/main.c
./src/Makefile.am
./TODO
./missing
./README
./configure.in
./Makefile.am
./aclocal.m4
./install-sh
./INSTALL
./mkinstalldirs
./NEWS
./ChangeLog



/src/Makefile.am sieht so aus:

bash:

rex@supertux:~/projects/turmach/turmach-1.0.0/src> cat Makefile.am
bin_PROGRAMS = turmach
turmach_SOURCES = main.c
CFLAGS = -O3 -W -Wall -std=c99 -ffast-math -Wwrite-strings



Die configure.in sieht so aus:

bash:

rex@supertux:~/projects/turmach/turmach-1.0.0> cat configure.in
AC_INIT(src/main.c)
AM_INIT_AUTOMAKE(turmach,1.0.1)
AC_PROG_CC
AC_PROG_INSTALL
AC_SUBST(CFLAGS)
AC_OUTPUT(Makefile src/Makefile)



und Makefile.am

bash:

rex@supertux:~/projects/turmach/turmach-1.0.0> cat Makefile.am
SUBDIRS = src



So, jetzt habe ich folgendes gemacht:

bash:

rex@supertux:~/projects/turmach/turmach-1.0.0> aclocal
rex@supertux:~/projects/turmach/turmach-1.0.0> autoconf
rex@supertux:~/projects/turmach/turmach-1.0.0> automake


./configure kann ich ausführen, und wenn ich make eintippe

bash:

rex@supertux:~/projects/turmach/turmach-1.0.0> make
Making all in src
make[1]: Entering directory `/home/rex/projects/turmach/turmach-1.0.0/src'
gcc -DPACKAGE=\"turmach\" -DVERSION=\"1.0.1\"  -I. -I.      -O3 -W -Wall -std=c99 -ffast-math -Wwrite-strings -c main.c
...


Das ist zwar richtig, aber warum kommen diese -I. -I.??? Ich brauche sie gar nicht. Und wie kann ich schaffen, dann -DPACKAGE=\"turmach\" -DVERSION=\"1.0.1\" verschwindet? ich habe schon in der Doku gesucht, aber nichts gefunden. Wie kriege ich das weg?

Und noch was. Ich habe bereits gesucht, aber nicht richtig gefunden, was ich will. Da mein Programm eine Verbindung zum X Server macht, müsse configure eigentlich auch nach den Xlibs suchen. Wie kann ich das in configure.in einfügen????
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: