[alsa-devel] Making only some targets on cross-compilation

Philip A. Prindeville philipp_subx at redfish-solutions.com
Fri Aug 21 02:49:35 CEST 2009


Hi.

I'm working on the astlinux project (www.astlinux.org) and had a
question about doing a build for only a subset of the $SUBDIRS targets.

I tried doing something like:

make -C $(ALSA-LIB_DIR) \
  SUBDIRS='src include modules aserver'



but this fails. The problem is that if we look into the environment in
the top-level $(RECURSIVE_TARGETS): we get:

SUBDIRS=include src modules aserver
...
MAKEFLAGS=w --jobserver-fds=3,4 -j -- SUBDIRS=include\ src\ modules\ aserver CC=/home/philipp/asterisk/build_i586/staging_dir/bin/i586-linux-uclibc-gcc



so those targets eventually get picked up by the make running in
include/, which then overrides his own Makefile value:

SUBDIRS = sound


and tries to build the same top-level targets now in include/. Clearly
this is wrong.

Anyone have a work-around to this?  We're on an embedded system, and
don't want to build (nor install, obviously) "doc", "test", "alsalisp",
"utils", etc.

Having something like:

SUBDIRS=$(filter-out $(SUBDIRS_EXCLUDE),$(SUBDIRS))

would be really sweet.  Then I could just build as:

make -C $(ALSA-LIB_DIR) \
    all SUBDIRS_EXCLUDE='doc test utils'

and only get the targets I want...

Thanks,

-Philip







More information about the Alsa-devel mailing list