- generate thumb code by default (type forced ARM generation) - make the generation of unoptimized binaries with APP_OPTIM := debug actually work (the -O0 -g flags were placed before the -Os -mthumb flags for thumb binaries) - factor common code from build-executable/shared-library/static-library into build-binary.mk and install-binary.mk - properly add a -L$(SYSROOT)/usr/lib line to make LOCAL_LDLIBS := -lz work as advertized (in build-binary.mk) - add a few missing variables from clear-vars.mk
79 lines
2.2 KiB
Makefile
79 lines
2.2 KiB
Makefile
# Copyright (C) 2008 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
#
|
|
# Base rules shared to control the build of all modules.
|
|
# This should be included from build-binary.mk
|
|
#
|
|
|
|
$(call assert-defined,LOCAL_MODULE_CLASS LOCAL_BUILD_SCRIPT LOCAL_BUILT_MODULE)
|
|
|
|
# Check LOCAL_IS_HOST_MODULE and define 'my' as either HOST_ or TARGET_
|
|
#
|
|
LOCAL_IS_HOST_MODULE := $(strip $(LOCAL_IS_HOST_MODULE))
|
|
ifdef LOCAL_IS_HOST_MODULE
|
|
ifneq ($(LOCAL_IS_HOST_MODULE),true)
|
|
$(call __ndk_log,$(LOCAL_PATH): LOCAL_IS_HOST_MODULE must be "true" or empty, not "$(LOCAL_IS_HOST_MODULE)")
|
|
endif
|
|
my := HOST_
|
|
else
|
|
my := TARGET_
|
|
endif
|
|
|
|
# Compute 'intermediates' which is the location where we're going to store
|
|
# intermediate generated files like object (.o) files.
|
|
#
|
|
intermediates := $($(my)OBJS)
|
|
|
|
# LOCAL_INTERMEDIATES lists the targets that are generated by this module
|
|
#
|
|
LOCAL_INTERMEDIATES := $(LOCAL_BUILT_MODULE)
|
|
|
|
# LOCAL_BUILD_MODE will be either release or debug
|
|
#
|
|
ifneq ($(NDK_APP_OPTIM),)
|
|
LOCAL_BUILD_MODE := $(NDK_APP_OPTIM)
|
|
else
|
|
LOCAL_BUILD_MODE := release
|
|
endif
|
|
|
|
#
|
|
# Ensure that 'make <module>' and 'make clean-<module>' work
|
|
#
|
|
.PHONY: $(LOCAL_MODULE)
|
|
$(LOCAL_MODULE): $(LOCAL_BUILT_MODULE)
|
|
|
|
cleantarget := clean-$(LOCAL_MODULE)
|
|
.PHONY: $(cleantarget)
|
|
clean: $(cleantarget)
|
|
|
|
$(cleantarget): PRIVATE_MODULE := $(LOCAL_MODULE)
|
|
$(cleantarget): PRIVATE_CLEAN_FILES := $(PRIVATE_CLEAN_FILES) \
|
|
$(LOCAL_BUILT_MODULE) \
|
|
$(LOCAL_INSTALLED_MODULE) \
|
|
$(intermediates)
|
|
|
|
$(cleantarget)::
|
|
@echo "Clean: $(PRIVATE_MODULE)"
|
|
$(hide) rm -rf $(PRIVATE_CLEAN_FILES)
|
|
|
|
#
|
|
# Register module
|
|
#
|
|
|
|
ALL_MODULES += $(LOCAL_MODULE)
|
|
|
|
|