* [Buildroot] I want to know how the buildroot works inside when build and install a new package
@ 2009-02-27 3:45 IaMaPlAyEr
2009-02-27 21:30 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: IaMaPlAyEr @ 2009-02-27 3:45 UTC (permalink / raw)
To: buildroot
Hi, all,
I want to know how the buildroot works inside when build and install a
new package.
I view the doc, but can not find the answer.
Just as the buildroot.html said, if I want to add new package, which I
have to do
is to writing a makefile(foo.mk) just like blow:
1 #############################################################
2 #
3 # foo
4 #
5 #############################################################
6 FOO_VERSION:=1.0
7 FOO_SOURCE:=foo-$(FOO_VERSION).tar.gz
8 FOO_SITE:=http://www.foosoftware.org/downloads
9 FOO_INSTALL_STAGING = YES
10 FOO_INSTALL_TARGET = YES
11 FOO_CONF_OPT = --enable-shared
12 FOO_DEPENDENCIES = libglib2 pkgconfig
13 $(eval $(call AUTOTARGETS,package,foo))
It is the rule of the package needed.
I know it is the Makefile which autotools-based type, and also know the
default work-flow
of autotools is:
autoscan(configure.scan)----------(edit configure.ac
)----------aclocal(aclocal.m4)-----autoconf(configure)
(edit configure.ac)----------autoheader(config.h.in)
Makefile.am----autoconf(configure)
autoconf(configure)+autoconf(configure)-----./configure(Makefile)
And how the buildroot works inside?
Thanks in advance for any assistance.
--
--
HaveF
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20090227/c7a37d32/attachment.htm>
^ permalink raw reply [flat|nested] 4+ messages in thread* [Buildroot] I want to know how the buildroot works inside when build and install a new package
2009-02-27 3:45 [Buildroot] I want to know how the buildroot works inside when build and install a new package IaMaPlAyEr
@ 2009-02-27 21:30 ` Thomas Petazzoni
2009-02-28 2:49 ` IaMaPlAyEr
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2009-02-27 21:30 UTC (permalink / raw)
To: buildroot
Hi,
Le Fri, 27 Feb 2009 11:45:55 +0800,
IaMaPlAyEr <iamaplayer@gmail.com> a ?crit :
> And how the buildroot works inside?
Most of the autotools-based packages are released with the configure
script and Makefile.in files already generated (i.e, aclocal, autoconf,
autoheader and automake have been run by the developer and integrated
inside the released tarball). So, the automagic thing available in
Buildroot to compile autotools-based packages will basically do :
./configure
make
make install
(passing of course the correct options and setting the appropriate
environment variables to get cross-compilation to work properly).
However, if for some reason you want the whole aclocal, autoconf,
autoheader and automake process to be run before compiling the package,
you can add :
FOO_AUTORECONF=YES
in your Buildroot Makefile. This is particularly useful if you patch
the configure.in file or the Makefile.am files.
Does that answer your question ? If not, don't hesitate to ask for
details.
Sincerly,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] I want to know how the buildroot works inside when build and install a new package
2009-02-27 21:30 ` Thomas Petazzoni
@ 2009-02-28 2:49 ` IaMaPlAyEr
2009-02-28 8:51 ` Peter Korsgaard
0 siblings, 1 reply; 4+ messages in thread
From: IaMaPlAyEr @ 2009-02-28 2:49 UTC (permalink / raw)
To: buildroot
Hi,
Thanks for your warmhearted reply.
I know your meaning, but it is not my question.
Sorry for my ability that not express my question clearly.
I want to know how the foo.mk(the example in doc of buildroot) pass
parameter to the autotools or ./configure, or make.
Not only just use
FOO_INSTALL_TARGET = YES
FOO_AUTORECONF=YES
but how the parameter will be used in Makefile.autotools.in or something
else?
Of course I need to read the Makefile.autotools.in by myself, but I just
want to know the panorama how the parameter pass to ./configure or make.
And if i want to comprehend and improve the Makefile.autotools or the
mechanism of parameter transfer, the first step is to know how it works now.
btw, do you know the OpenWRT? It also based on buildroot, and it has his own
packages mechanism just like i2c-tools:
https://svn.openwrt.org/openwrt/packages/utils/i2c-tools/
https://svn.openwrt.org/openwrt/packages/utils/i2c-tools/Makefile
...
include $(TOPDIR)/rules.mk
PKG_NAME:=i2c-tools
PKG_VERSION:=3.0.1
PKG_RELEASE:=1
...
If i comprehend two things(makefile in OpenWrt and foo.mk in buildroot),
maybe we can added more and more packages in buildroot by the hands of
OpenWrt.
On Sat, Feb 28, 2009 at 5:30 AM, Thomas Petazzoni <
thomas.petazzoni@free-electrons.com> wrote:
> ....
>
> ./configure
> make
> make install
>
>
> FOO_AUTORECONF=YES
>
> ....
>
> Sincerly,
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers and embedded Linux development,
> consulting, training and support.
> http://free-electrons.com
> _____________________________________________<http://lists.busybox.net/mailman/listinfo/buildroot>
--
Sincerly,
HaveF
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20090228/bbb99d1e/attachment.htm>
^ permalink raw reply [flat|nested] 4+ messages in thread* [Buildroot] I want to know how the buildroot works inside when build and install a new package
2009-02-28 2:49 ` IaMaPlAyEr
@ 2009-02-28 8:51 ` Peter Korsgaard
0 siblings, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2009-02-28 8:51 UTC (permalink / raw)
To: buildroot
>>>>> "IaMaPlAyEr" == IaMaPlAyEr <iamaplayer@gmail.com> writes:
Hi,
IaMaPlAyEr> I want to know how the foo.mk(the example in doc of
IaMaPlAyEr> buildroot) pass parameter to the autotools or
IaMaPlAyEr> ./configure, or make.
IaMaPlAyEr> Not only just use
IaMaPlAyEr> FOO_INSTALL_TARGET = YES
IaMaPlAyEr> FOO_AUTORECONF=YES
IaMaPlAyEr> but how the parameter will be used in
IaMaPlAyEr> Makefile.autotools.in or something else?
Have a look at the top of Makefile.autotools.in, it has some
documentation of the variables.
IaMaPlAyEr> btw, do you know the OpenWRT? It also based on buildroot,
IaMaPlAyEr> and it has his own packages mechanism just like i2c-tools:
I'm not familiar with the fine details of how openwrt's buildroot fork
works.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-02-28 8:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-27 3:45 [Buildroot] I want to know how the buildroot works inside when build and install a new package IaMaPlAyEr
2009-02-27 21:30 ` Thomas Petazzoni
2009-02-28 2:49 ` IaMaPlAyEr
2009-02-28 8:51 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox