[Buildroot] package makefile conventions
Bernhard Fischer
rep.dot.nop at gmail.com
Fri Jan 19 19:10:53 UTC 2007
On Fri, Jan 19, 2007 at 07:12:49PM +0100, Claus Klein wrote:
>Hallo,
>
>I found some packages which does not implement all needed targets.
Ah, excellent.
>Too, some of them use 'make' or 'sed' without the common make variable.
Those need fixing.
>
>Last, but not least, why is '$(MAKE1)' used in some package makefiles?
Some packages are broken wrt parallel builds. $(MAKE1) expands to
make -j 1
>claus at P3linux:~/src/buildroot> ./mklint
>package/gmp/gmp.mk lacks target gmp
The upstream package is called "gmp" but is really "libgmp".
Same for mpfr.
>package/gmp/gmp.mk lacks target gmp-source
>package/gmp/gmp.mk lacks target gmp-clean
>package/gmp/gmp.mk lacks target gmp-dirclean
>package/qte/qte.mk lacks target qte-source
>package/bash/bash.mk uses MAKE1 make var, why not $(MAKE) ?
>package/dash/dash.mk uses MAKE1 make var, why not $(MAKE) ?
>package/flex/flex.mk uses MAKE1 make var, why not $(MAKE) ?
>package/lzma/lzma.mk lacks target lzma
That one has lzma-host and lzma-target targets
>package/mpfr/mpfr.mk lacks target mpfr
>package/mpfr/mpfr.mk lacks target mpfr-source
>package/mpfr/mpfr.mk lacks target mpfr-clean
>package/mpfr/mpfr.mk lacks target mpfr-dirclean
>package/pppd/pppd.mk uses MAKE1 make var, why not $(MAKE) ?
>package/ipsec-tools/ipsec-tools.mk uses make without make var $(MAKE) /!\
>package/expat/expat.mk lacks target expat-dirclean
>package/pango/pango.mk uses MAKE1 make var, why not $(MAKE) ?
>package/slang/slang.mk uses MAKE1 make var, why not $(MAKE) ?
>package/wireless-tools/wireless-tools.mk uses sed without make var $(SED) :-(
>package/iptables/iptables.mk uses MAKE1 make var, why not $(MAKE) ?
>package/modutils/modutils.mk uses MAKE1 make var, why not $(MAKE) ?
>package/ltp-testsuite/ltp-testsuite.mk uses MAKE1 make var, why not $(MAKE) ?
>package/dmraid/dmraid.mk uses MAKE1 make var, why not $(MAKE) ?
>package/ncurses/ncurses.mk uses MAKE1 make var, why not $(MAKE) ?
>package/netsnmp/netsnmp.mk uses MAKE1 make var, why not $(MAKE) ?
>package/pciutils/pciutils.mk uses MAKE1 make var, why not $(MAKE) ?
>package/libelf/libelf.mk uses MAKE1 make var, why not $(MAKE) ?
>package/libusb/libusb.mk uses make without make var $(MAKE) /!\
>package/python/python.mk uses make without make var $(MAKE) /!\
>package/e2fsprogs/e2fsprogs.mk uses MAKE1 make var, why not $(MAKE) ?
>package/thttpd/thttpd.mk uses sed without make var $(SED) :-(
>package/openntpd/openntpd.mk lacks target openntpd
>package/openntpd/openntpd.mk lacks target openntpd-source
>package/openntpd/openntpd.mk lacks target openntpd-clean
>package/openntpd/openntpd.mk lacks target openntpd-dirclean
well:
$ grep -L dirclean package/*/*mk
package/customize/customize.mk
package/expat/expat.mk
package/gnuconfig/gnuconfig.mk
where customize and gnuconfig are ok, expat not (but i didn't look)
for the normal clean targets, we have about the same picture (all seems
to be well):
$ grep -L clean: package/*/*mk
package/customize/customize.mk
package/gnuconfig/gnuconfig.mk
>package/raidtools/raidtools.mk lacks target raidtools
>package/raidtools/raidtools.mk lacks target raidtools-source
>package/raidtools/raidtools.mk lacks target raidtools-clean
>package/raidtools/raidtools.mk lacks target raidtools-dirclean
>package/usbutils/usbutils.mk uses make without make var $(MAKE) /!\
>package/openssl/openssl.mk uses MAKE1 make var, why not $(MAKE) ?
>package/libevent/libevent.mk uses make without make var $(MAKE) /!\
>package/libfloat/libfloat.mk uses make without make var $(MAKE) /!\
>package/xfsprogs/xfsprogs.mk uses MAKE1 make var, why not $(MAKE) ?
>package/microperl/microperl.mk uses make without make var $(MAKE) /!\
>package/readline/readline.mk uses MAKE1 make var, why not $(MAKE) ?
>package/asterisk/asterisk.mk uses MAKE1 make var, why not $(MAKE) ?
>claus at P3linux:~/src/buildroot>
More information about the buildroot
mailing list