Commit Graph

10 Commits

Author SHA1 Message Date
Anton Hansson d26c647f74 Add support for single-value product variables
Prior to this change, all PRODUCT_* variables are inherited with
list semantics, meaning the variable value in the current makefile
as well as all the makefiles it inherits are concatenated together.

Many of these variables are not lists, so this change adds the
ability to classify a variable as a single-value variable, which
will inherit at most one value (the first one), unless the variable
is already defined in the current file.

This change also marks all current variables as list variables.
A future change will re-classify the single-value variables as such.

Bug: 116769560
Test: presubmit
Change-Id: I57719a5eefd0749e92c08b1773b6f929629267a3
2019-05-06 16:17:20 +01:00
Ying Wang 157a5e1695 Load only the current product config makefile.
To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
2012-09-27 15:17:41 -07:00
Jeff Brown 01efddb0b8 Make make make faster.
Optimize common case of uniq-words where the word is not
actually duplicated.  Reduces make startup overhead.

Change-Id: I1bee13bbd08a7b01248f4452283a64a724663d02
2012-05-30 13:52:22 -07:00
Doug Zongker 1d89773c1d fix makefile inheritance system
The variable inheritance system can leave extra spaces in a variable
when multiple levels of inheritance are used.  It can expand:

  "@inherit:foo @inherit:bar @inherit:baz"

     to

  "value @inherit:bar @inherit:baz"

     and then

  "value  @inherit:baz"   (if bar has no value for the variable)

     and then

  "value "  (if baz also has no value).

Call strip to remove excess spaces between words after each
replacement pass.

Change-Id: Ic4cfc6fed1865066a6353a522e4bdcb68ec875d3
2010-02-18 12:23:35 -08:00
Joe Onorato 7b86bfb03e add a warning about using include in product spec files.
currently disabled because there are too many of them.
2010-01-07 11:26:05 -08:00
Sean McNeil d47804e929 Provide LOCAL_DIR as some product variables might need a reference directory (i.e. PRODUCT_COPY_FILES).
Change from LOCAL_DIR to LOCAL_PATH
2009-04-04 18:46:13 +07:00
The Android Open Source Project 6a5f7f068b auto import from //depot/cupcake/@136594 2009-03-05 14:34:30 -08:00
The Android Open Source Project 88b607994a auto import from //depot/cupcake/@135843 2009-03-03 19:28:42 -08:00
The Android Open Source Project 05806d7af6 auto import from //depot/cupcake/@135843 2009-03-03 18:28:14 -08:00
The Android Open Source Project b6c1cf6de7 Initial Contribution 2008-10-21 07:00:00 -07:00