2011-09-28 19 views
6

Otomatik program kullanarak bin programı oluşturmak gerçekten çok kolay Sadece iki dosya tanımlamam gerekiyor.Merhaba Dünya Kütüphanesi autotools kullanarak

`Makefile.am'

bin_PROGRAMS = hello 
hello_SOURCES = hello.c 

` configure.in'

AC_INIT(hello.c) 
AM_INIT_AUTOMAKE(hello,1.0) 
AC_PROG_CC 
AC_PROG_INSTALL 
AC_OUTPUT(Makefile) 

herhangi bir vücut kütüphane kullanılarak autotools statik oluşturmak için bir küçük örnek verebilir?

+2

'configure.in' için kullandığınız sözdizimi çok eski! Lütfen geçerli sözdiziminin Automake el kitabından "Merhaba Dünya" örneğini okuyun. http://sourceware.org/automake/automake.html#Hello-World – adl

+0

@adi Sadece öğrenmeye başladım. ve örnek olarak –

+1

olduğunu fark ettiniz. Başladığınızda bir sorun: Internet'te bulduğunuz birçok eğitmen Automake 1.4 ve Autoconf 2.13'ün her yerde olduğu 1999-2000 civarında yazılmıştır. Ancak bu araçlar yıl boyunca büyük bir gelişme gösterdi ve söz dizimi çok değişti. Bir kural olarak, belgeniz 'configure.ac' yerine' configure.in' kullanıyorsa, eski modası geçmiş olabilir. İsterseniz http://www.lrde.epita.fr/~adl/autotools.html adresinde güncel sözdizimi olan bir öğreticim var. – adl

cevap

13

Makefile.am:

lib_LIBRARIES = libhello.a 
libhello_a_SOURCES = hello.c 

configure.ac:

AC_INIT([libhello], [1.0], [[email protected]]) 
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 
AC_PROG_CC 
AC_PROG_RANLIB 
AC_CONFIG_FILES([Makefile]) 
AC_OUTPUT 

Automake ile kütüphaneleri oluşturmak için dokümantasyon here olduğunu.

+0

@adi Bir sorum daha var http://stackoverflow.com/questions/7589676/autotools-include-path –