summaryrefslogtreecommitdiffstats
path: root/core/base_rules.mk
Commit message (Collapse)AuthorAgeFilesLines
* Add LOCAL_AIDL_FLAGSLuis Vidal2016-07-151-1/+1
| | | | | | Allow modules to define custom AIDL flags Change-Id: I5609e6eb0a10d441cea2556179c8496293116dcf
* build/core: Create means of ignoring subdir layer for packages.Adnan Begovic2015-10-091-1/+1
| | | | | | | | An external resource package that acts as a secondary framework resource should be presented in system/framework similarily to the framework-res module. Change-Id: Ie4110a184cd7262035110a6a04bb7ea91e7a42b0
* build-with-colors: moar colorsChirayu Desai2015-10-061-3/+3
| | | | | | | | | | | | | | | | - rename CL_PFX and CL_INS to better match the colors they show. - add more colors. Output of: - most host stuff is yellow - most target stuff is green - installing/copying files is cyan - import/export includes and notice files is cyan - bootimage/recoveryimage is cyan - and some more colors in many places ;) Change-Id: I5532afa4ba608e0a7c408516dc9f912f9ca389f7
* build in colors: Install outputs in blue/yellow [basic ics version]Tanguy Pruvot2015-10-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | "target prefix:" in yellow "Install: file" in cyan should be in a single command line else there are sync problems in multithread (-j X) These colors can be tuned in core/Makefile if you use a white terminal. can be disabled with "export BUILD_WITH_COLORS=0" Only the most important output is colored to reduce ics merge problems Change-Id: I0e585079fde6900799ef209367a523d94a51cda5 Colors: add more colors to final build steps also fix releasetool echo and visible recovery echos Change-Id: Icf5d88468572f935610c544bf1d5d356ec9870d3 build in colors: host C/C++ Change-Id: Ic415cab53a2efa104c9d4b31ddbe8c8eb74e493d
* am 44acba6d: am 02026edf: am bf6b82fb: am 247f5c4f: am 1bd15569: am ↵Ying Wang2015-05-201-0/+16
|\ | | | | | | | | | | | | e528e44d: Merge "Add task to print transitive dependencies and their license files." into lmp-dev * commit '44acba6d37b1d13ef3a3ec6d89e5121f691089d9': Add task to print transitive dependencies and their license files.
| * am 02026edf: am bf6b82fb: am 247f5c4f: am 1bd15569: am e528e44d: Merge "Add ↵Ying Wang2015-05-201-0/+16
| |\ | | | | | | | | | | | | | | | | | | task to print transitive dependencies and their license files." into lmp-dev * commit '02026edf4d104750fde070862636d29db4124b3a': Add task to print transitive dependencies and their license files.
| | * am 1bd15569: am e528e44d: Merge "Add task to print transitive dependencies ↵Ying Wang2015-05-201-0/+16
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | and their license files." into lmp-dev * commit '1bd155692f2e7ddc4fb6b874fc586ba8ab86a363': Add task to print transitive dependencies and their license files.
| | | * Merge "Add task to print transitive dependencies and their license files." ↵Ying Wang2015-05-191-0/+16
| | | |\ | | | | | | | | | | | | | | | into lmp-dev
| | | | * Add task to print transitive dependencies and their license files.Ying Wang2015-05-191-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Print modules and their transitive dependencies with license files. To invoke, run "make deps-license PROJ_PATH=<proj-path-patterns> DEP_PATH=<dep-path-patterns>". PROJ_PATH restricts the paths of the source modules; DEP_PATH restricts the paths of the dependency modules. Both can be makefile patterns supported by makefile function $(filter). Example: $ make deps-license packages/app/% external/% prints all modules in packages/app/ with their dpendencies in external/. The printout lines look like "<module_name> :: <module_paths> :: <license_files>". Bug: 20823995 Change-Id: I06b66e85ff56c8628bffa3d948085ed45870100f (cherry-pick from 39b9b690a824c82465fe0ac9b44a0c1f5e6ae13a)
| | | * | Use ALL_MODULES.$(m).INSTALLED in modules-for-tag-listYing Wang2015-02-261-8/+0
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we store tag's installed modules in a separate variable ALL_MODULE_TAGS.$(tag). However we only record the main installed file for a module, but omit affiliated files like .odex. With this change, we handle the tagged module the same way as modules in PRODUCT_PACKAGES. Change-Id: I7972528a4df5a4ba8bc98930864da9672d32d7fe (cherry picked from commit 0e36bfeb3ffc78658cda3ca6931c66fe3f5b3d3b)
| * | | am 4cbc4b39: am ae61f50a: Support to configure and build multiple custom images.Ying Wang2015-03-141-0/+2
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit '4cbc4b392da57c34626af38a4ea0fe4dc115af57': Support to configure and build multiple custom images.
| | * | Support to configure and build multiple custom images.Ying Wang2015-03-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Build additional images requested by the product makefile. This script gives the ability to build multiple additional images and you can configure what modules/files to include in each image. 1. Define PRODUCT_CUSTOM_IMAGE_MAKEFILES in your product makefile. PRODUCT_CUSTOM_IMAGE_MAKEFILES is a list of makefiles. Each makefile configures an image. For image configuration makefile foo/bar/xyz.mk, the built image file name will be xyz.img. So make sure they won't conflict. 2. In each image's configuration makefile, you can define variables: - CUSTOM_IMAGE_MOUNT_POINT, the mount point, such as "oem", "odm" etc. - CUSTOM_IMAGE_PARTITION_SIZE - CUSTOM_IMAGE_FILE_SYSTEM_TYPE - CUSTOM_IMAGE_DICT_FILE, a text file defining a dictionary accepted by BuildImage() in tools/releasetools/build_image.py. - CUSTOM_IMAGE_MODULES, a list of module names you want to include in the image; Not only the module itself will be installed to proper path in the image, you can also piggyback additional files/directories with the module's LOCAL_PICKUP_FILES. - CUSTOM_IMAGE_COPY_FILES, a list of "<src>:<dest>" to be copied to the image. <dest> is relativ to the root of the image. To build all those images, run "make custom_images". Bug: 19609718 Change-Id: Ic73587e08503a251be27797c7b00329716051927 (cherry picked from commit 5fcf1094f9cf4d57c2598237f99621f254130d71)
| | * | Use ALL_MODULES.$(m).INSTALLED in modules-for-tag-listYing Wang2015-02-261-8/+0
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we store tag's installed modules in a separate variable ALL_MODULE_TAGS.$(tag). However we only record the main installed file for a module, but omit affiliated files like .odex. With this change, we handle the tagged module the same way as modules in PRODUCT_PACKAGES. Change-Id: I7972528a4df5a4ba8bc98930864da9672d32d7fe
* | | Support to configure and build multiple custom images.Ying Wang2015-03-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Build additional images requested by the product makefile. This script gives the ability to build multiple additional images and you can configure what modules/files to include in each image. 1. Define PRODUCT_CUSTOM_IMAGE_MAKEFILES in your product makefile. PRODUCT_CUSTOM_IMAGE_MAKEFILES is a list of makefiles. Each makefile configures an image. For image configuration makefile foo/bar/xyz.mk, the built image file name will be xyz.img. So make sure they won't conflict. 2. In each image's configuration makefile, you can define variables: - CUSTOM_IMAGE_MOUNT_POINT, the mount point, such as "oem", "odm" etc. - CUSTOM_IMAGE_PARTITION_SIZE - CUSTOM_IMAGE_FILE_SYSTEM_TYPE - CUSTOM_IMAGE_DICT_FILE, a text file defining a dictionary accepted by BuildImage() in tools/releasetools/build_image.py. - CUSTOM_IMAGE_MODULES, a list of module names you want to include in the image; Not only the module itself will be installed to proper path in the image, you can also piggyback additional files/directories with the module's LOCAL_PICKUP_FILES. - CUSTOM_IMAGE_COPY_FILES, a list of "<src>:<dest>" to be copied to the image. <dest> is relativ to the root of the image. To build all those images, run "make custom_images". Bug: 19609718 Change-Id: Ic73587e08503a251be27797c7b00329716051927
* | | Change built module of static java librariesYohann Roussel2015-02-181-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set LOCAL_BUILT_MODULE of static java libraries when Jack is enabled to classes.jack instead of javalib.jar. This allows that running mm in those libraries will build classes.jack instead of the jar. Change-Id: I96b4b227848e971df96331b3f0cc731e856be349
* | | Merge "Engage Jack incremental on demand"Yohann Roussel2015-02-051-2/+9
|\ \ \
| * | | Engage Jack incremental on demandYohann Roussel2015-02-041-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each module may engage Jack incremental with LOCAL_JACK_ENABLED := incremental Include renaming of LOCAL_USE_JACK to LOCAL_JACK_ENABLED that is now accepting 3 values "disabled", "full" and "incremental". Change-Id: Icbff275b397bee36b29312e821f3e8d45f83fbcc
* | | | Merge "Simplify handling of ANDROID_JACK_* variables"Yohann Roussel2015-02-051-19/+0
|\ \ \ \ | |/ / /
| * | | Simplify handling of ANDROID_JACK_* variablesYohann Roussel2015-02-031-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This concerns ANDROID_JACK_VM, ANDROID_JACK_VM_ARGS and ANDROID_JACK_EXTRA_ARGS. Change-Id: Iba75ecaaceb09ac9607a3aee41324d9f5ae4beef
* | | | Allow to build resource only Java module.Ying Wang2015-02-021-1/+1
|/ / / | | | | | | | | | Change-Id: I0ccce1f3e336fe25d3b36471664042d1f144c74a
* | | Explicit dependency on hostdex classes.jar.Ying Wang2015-01-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously for hostdex Java libraries, we set up dependency on only javalib.jar, which in turn is dependent on classes.jar. But when jack is enabled there is no dependency of javalib.jar on classes.jar. In commit b4c49cba57d classes.jar was universally added to all host java library dependencies. That's unnecessary. This change adds explicit dependency on classes.jar only for hostdex modules. On the other hand, if we switch checked module to $(full_classes_jack), like what we did in commit 8bc90fd2d6ccf, we won't need this to fix jack build either, because classes.jar isn't needed when you run checkbuild. Change-Id: I92c0e4d621d266f6e6914ab2b4f20e5531af070f
* | | Running jarjar on Java resources.Ying Wang2015-01-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, Java resources are added as a separate step (add-java-resources-to-package) after dex is run, so jarjar isn't run on the resource files. With this change, we add Java resources immediately after we call javac, so jarjar is run on the resource files (the module's own resource, as well as resources carried by static Java libraries). When we generate the final apk/jar, we use the jarjar'ed jar as the inital pacakge file, with class files and empty folders removed. When jack is enabled, in jack-java-to-dex we add the Java resources to a temp jar using the PRIVATE_EXTRA_JAR_ARGS, and extrac the files in a temp dir. Jack will process the resource files and output the result to PRIVATE_JACK_INTERMEDIATES_DIR. When we package the final apk/jar, we need to call add-carried-jack-resources to readd the resources. (TODO: if jack can output all resources to a jar/zip file, we can use that file as the initial package file as well.) Bug: 18837479 Change-Id: I8d7296e30ec8d005054cf04c4f2aed6d7a0d823b
* | | Revert "Running jarjar on Java resources."Narayan Kamath2015-01-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 140274707e31c9585aa28b0de2f1418c64ecd272. Breaks the build on uiautomator_compat. Change-Id: I6d14f39e3432bf5e691027bbb8e7260e4bec8e8d
* | | Running jarjar on Java resources.Ying Wang2015-01-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, Java resources are added as a separate step (add-java-resources-to-package) after dex is run, so jarjar isn't run on the resource files. With this change, we add Java resources immediately after we call javac, so jarjar is run on the resource files (the module's own resource, as well as resources carried by static Java libraries). When we generate the final apk/jar, we use the jarjar'ed jar as the inital pacakge file, with class files and empty folders removed. When jack is enabled, in jack-java-to-dex we add the Java resources to a temp jar using the PRIVATE_EXTRA_JAR_ARGS, and extrac the files in a temp dir. Jack will process the resource files and output the result to PRIVATE_JACK_INTERMEDIATES_DIR. When we package the final apk/jar, we need to call add-carried-jack-resources to readd the resources. (TODO: if jack can output all resources to a jar/zip file, we can use that file as the initial package file as well.) Bug: 18837479 Change-Id: I15ecf282bfb65fd53dd03fbd03dd4c71927c186a
* | | Compile using Jack.Yohann Roussel2014-12-021-1/+101
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to compile dex targeted java sources using Jack and Jill. Default is still to compile with the legacy toolchain. Default can be switched to the new toolchain by setting environement variable: export ANDROID_COMPILE_WITH_JACK=true Toolchain can also be forced for one module by defining LOCAL_USE_JACK:=true # false in the mk portion defining the module. Jack execution environement can be controlled with: Global variable ANDROID_JACK_VM allow to change the jvm executing Jack. Global variable ANDROID_JACK_VM_ARGS allows to change default args given to the jvm. Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args to give to Jack LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for the module. LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack. Change-Id: Ib81a0fd5f86a51d1e0edbb81cc791d828a05dd29
* | Use ALL_MODULES.$(m).INSTALLED in modules-for-tag-listYing Wang2014-11-181-8/+0
| | | | | | | | | | | | | | | | | | | | Previously we store tag's installed modules in a separate variable ALL_MODULE_TAGS.$(tag). However we only record the main installed file for a module, but omit affiliated files like .odex. With this change, we handle the tagged module the same way as modules in PRODUCT_PACKAGES. Change-Id: I7972528a4df5a4ba8bc98930864da9672d32d7fe
* | Make modules depend on their makefile.Dan Albert2014-11-111-1/+6
| | | | | | | | | | | | | | | | This should obviate much of the need for cleanspecs, and also make it unnecessary to continue adding LOCAL_ADDITIONAL_DEPENDENCIES for this sort of thing all over the tree. Change-Id: I97aa8fd280ae868a5f6364f8b7bf3c2fe235d6ce
* | am fc6d5b6a: Allow to add jar resource or manifest even without Java code.Ying Wang2014-10-011-4/+4
|\ \ | |/ | | | | | | * commit 'fc6d5b6a947fa80061778639290c0241b93635b4': Allow to add jar resource or manifest even without Java code.
| * Allow to add jar resource or manifest even without Java code.Ying Wang2014-09-301-4/+4
| | | | | | | | Change-Id: I2d8fd93f004d9e0c29c71b887810b2624769789e
* | am a953de3f: am 326363b8: Merge "java_alternative_checked_module takes ↵Ying Wang2014-09-301-4/+2
|\ \ | | | | | | | | | | | | | | | | | | precedence." * commit 'a953de3f01b3c3428e133b14bad0662b4adc901d': java_alternative_checked_module takes precedence.
| * | java_alternative_checked_module takes precedence.Ying Wang2014-09-291-4/+2
| | | | | | | | | | | | | | | | | | | | | java_alternative_checked_module takes precedence over LOCAL_BUILT_MODULE. Change-Id: I84f0d65dbc05f4686817aa835d003eb0101af146
* | | am 1d6f150e: am 8d856002: Merge "Don\'t modify LOCAL_CHECKED_MODULE."Ying Wang2014-09-291-9/+11
|\ \ \ | |/ / | | / | |/ |/| * commit '1d6f150e3e3cce1788d0aea47d0aa8bef0f6df66': Don't modify LOCAL_CHECKED_MODULE.
| * Don't modify LOCAL_CHECKED_MODULE.Ying Wang2014-09-291-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Use a temporary variable my_checked_module instead, so that we don't override the 2nd_arch's checked module with the 1st_arch's in multilib build. Note that by default we checkbuild 2nd_arch only for host modules, but not for target modules. We enable multlib for target modules by default, it would take too much time to checkbuild for both archs. For 32-bit modules actually we can checkbuild a 32-bit product. Change-Id: I0a5ba75699225b7641442673483731a8fd360d61
* | Support LOCAL_PACKAGE_SPLITS.Ying Wang2014-07-221-1/+0
| | | | | | | | | | | | | | | | | | Support LOCAL_PACKAGE_SPLITS, which accepts a list of resource lables and generates multiple apks. The build system sets up rules to sign and zipalign the split apks. Bug: 16319961 Change-Id: I344b3d1c7eb158c6d0df879093d666a89870aadd
* | Support "LOCAL_SDK_VERSION := system_current"Ying Wang2014-07-191-3/+5
| | | | | | | | | | | | | | | | A module can declare "LOCAL_SDK_VERSION := system_current" to build against the android system stubs generated from source. For now this is only supported in platform build. Change-Id: I1e9bbd159886bc0ea3a02b1dc4cbcb1a56e9cb15
* | New installation path for apks and their JNIs.Ying Wang2014-07-181-0/+7
| | | | | | | | | | | | | | | | | | Apk's path is changed to <parent_dir>/MyApp/MyApp.apk; JNI path is changed to <parent_dir>/MyApp/lib/<arch_name>/libfoo.so. Symlinks of JNIs are changed accordingly. Bug: 16319961 Change-Id: Ib3b2309c95fa9aea27837fcc29e28d990b04747b
* | am 1c00c702: am 45322890: am d2aa51b8: Merge "Clean the last bit of ↵Ying Wang2014-07-081-2/+2
|\ \ | |/ | | | | | | | | | | LOCAL_BUILD_HOST_DEX." * commit '1c00c7026c23967ca33524356dc11d9885f960f9': Clean the last bit of LOCAL_BUILD_HOST_DEX.
| * Clean the last bit of LOCAL_BUILD_HOST_DEX.Ying Wang2014-07-071-2/+2
| | | | | | | | | | | | Long live LOCAL_BUILD_HOST_DEX! Change-Id: I8de23cfc78edc554606a2e1a8a955e8bc3ad02b0
* | Auto-clean obsolete aidl-generated Java files.Ying Wang2014-07-071-1/+4
| | | | | | | | | | | | | | | | The build system compares aidl files of every module to the previous build and deletes the intermediate generated source dir if an aidl file has gone. Change-Id: I55fcfe1baaae3496613e12c20bca564d408bba58
* | am 7a6a9a55: am 4bdbd6d4: am e1b43254: Merge "Add --pseudo-localize aapt ↵Ying Wang2014-06-271-1/+1
|\ \ | |/ | | | | | | | | | | parameter for builds." * commit '7a6a9a558271ac959a2e441fe27aae3df77d4421': Add --pseudo-localize aapt parameter for builds.
| * Add --pseudo-localize aapt parameter for builds.Igor Viarheichyk2014-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | Some packages can override list of locales with LOCAL_AAPT_INCLUDE_ALL_RESOURCES parameter, disabling pseudolocalization. Adding new --pseudo-localize flag to aapt if pseudo-locales are specified in product locales list solves this issue. Change-Id: Iae705d4fe99453650339fd1ca65d1005671b3e4f
* | am 995783d4: am 57befc90: am eb12847b: Merge "Switch another reference from ↵Ying Wang2014-06-241-1/+1
|\ \ | |/ | | | | | | | | | | core to core-libart" * commit '995783d4fde29634e9c61379db5fedad0a232089': Switch another reference from core to core-libart
| * Switch another reference from core to core-libartBrian Carlstrom2014-06-231-1/+1
| | | | | | | | | | Bug: 14298175 Change-Id: I37dc7d5bc63d967db4b3cb8aee695a40b12a8c8d
* | resolved conflicts for merge of 8fd9944e to masterBrian Carlstrom2014-06-181-1/+1
|\ \ | |/ | | | | Change-Id: I1ceda92267675d4ca460b6f990c0acea4b4812a8
| * Switch from core to core-libartBrian Carlstrom2014-06-181-1/+1
| | | | | | | | | | Bug: 14298175 Change-Id: I1db40e7c67322d80a108b2b88e6d2e6d275d7898
| * Explicit record the modules' built-file:installed-fileYing Wang2014-06-161-0/+4
| | | | | | | | | | | | | | | | | | | | - This simplifies the logic to get the mapping of built-file to installed-file. Previously we used file suffix matching which is error prone and not scalable. - With this change the .odex files will be included automatically. Bug: 13585955 Change-Id: I4599abf93b9d501bac7aca7758d7f3aee21b3e36
* | am 2bf10a72: am cdcb6926: am 6cb69bd4: Merge "Add HOST_PREFER_32_BIT to ↵Ying Wang2014-05-231-3/+5
|\ \ | |/ | | | | | | | | | | support 32-bit-by-default multilib build" * commit '2bf10a72f87a8e97923286aa331f7db81e2361ca': Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
| * Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib buildYing Wang2014-05-201-3/+5
| | | | | | | | | | | | | | | | | | | | We already support pure 32-bit and 64-bit-by-default multilib build. With HOST_PREFER_32_BIT we can build 32-bit-by-default multilib build. This will be lest disruptive during the period we transition to 64-bit-by-default. Bug: 13751317 Change-Id: I0d56ce4abbe4afeaacfd70d709f6a349791c0722
* | Fix typo.Ying Wang2014-05-201-1/+1
| | | | | | | | Change-Id: I027b91d3a89de12a9c9f95406274726574bc7f7a
* | Explicit record the modules' built-file:installed-fileYing Wang2014-05-191-0/+4
| | | | | | | | | | | | | | | | | | | | - This simplifies the logic to get the mapping of built-file to installed-file. Previously we used file suffix matching which is error prone and not scalable. - With this change the .odex files will be included automatically. Bug: 13585955 Change-Id: I4599abf93b9d501bac7aca7758d7f3aee21b3e36