11f8cb8903
Compiling the ACPI tools when output directory parameter is specified, but the output directory is not present, triggers the following error: make O=/data/test/tmp/ -C tools/power/acpi/ make: Entering directory '/data/src/kernel/linux/tools/power/acpi' DESCEND tools/acpidbg make[1]: Entering directory '/data/src/kernel/linux/tools/power/acpi/tools/acpidbg' MKDIR include CP include CC tools/acpidbg/acpidbg.o Assembler messages: Fatal error: can't create /data/test/tmp/tools/power/acpi/tools/acpidbg/acpidbg.o: No such file or directory make[1]: *** [../../Makefile.rules:24: /data/test/tmp/tools/power/acpi/tools/acpidbg/acpidbg.o] Error 1 make[1]: Leaving directory '/data/src/kernel/linux/tools/power/acpi/tools/acpidbg' make: *** [Makefile:18: acpidbg] Error 2 make: Leaving directory '/data/src/kernel/linux/tools/power/acpi' which occurs because the output directory has not been created yet. Fix this issue by creating the output directory before compiling. Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com> Signed-off-by: Chen Yu <yu.c.chen@intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> [ rjw: New subject, changelog edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
90 lines
2.4 KiB
Makefile
90 lines
2.4 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
# tools/power/acpi/Makefile.config - ACPI tool Makefile
|
|
#
|
|
# Copyright (c) 2015, Intel Corporation
|
|
# Author: Lv Zheng <lv.zheng@intel.com>
|
|
#
|
|
|
|
ifeq ($(srctree),)
|
|
srctree := $(patsubst %/,%,$(dir $(shell pwd)))
|
|
srctree := $(patsubst %/,%,$(dir $(srctree)))
|
|
#$(info Determined 'srctree' to be $(srctree))
|
|
endif
|
|
|
|
include $(srctree)/../../scripts/Makefile.include
|
|
|
|
OUTPUT=$(srctree)/
|
|
ifeq ("$(origin O)", "command line")
|
|
OUTPUT := $(O)/tools/power/acpi/
|
|
endif
|
|
#$(info Determined 'OUTPUT' to be $(OUTPUT))
|
|
|
|
# --- CONFIGURATION BEGIN ---
|
|
|
|
# Set the following to `true' to make a unstripped, unoptimized
|
|
# binary. Leave this set to `false' for production use.
|
|
DEBUG ?= true
|
|
|
|
# make the build silent. Set this to something else to make it noisy again.
|
|
V ?= false
|
|
|
|
# Prefix to the directories we're installing to
|
|
DESTDIR ?=
|
|
|
|
# --- CONFIGURATION END ---
|
|
|
|
# Directory definitions. These are default and most probably
|
|
# do not need to be changed. Please note that DESTDIR is
|
|
# added in front of any of them
|
|
|
|
bindir ?= /usr/bin
|
|
sbindir ?= /usr/sbin
|
|
mandir ?= /usr/man
|
|
|
|
# Toolchain: what tools do we use, and what options do they need:
|
|
|
|
INSTALL = /usr/bin/install -c
|
|
INSTALL_PROGRAM = ${INSTALL}
|
|
INSTALL_DATA = ${INSTALL} -m 644
|
|
INSTALL_SCRIPT = ${INSTALL_PROGRAM}
|
|
|
|
# If you are running a cross compiler, you may want to set this
|
|
# to something more interesting, like "arm-linux-". If you want
|
|
# to compile vs uClibc, that can be done here as well.
|
|
CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc-
|
|
CROSS_COMPILE ?= $(CROSS)
|
|
LD = $(CC)
|
|
|
|
# check if compiler option is supported
|
|
cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -x c /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;}
|
|
|
|
# use '-Os' optimization if available, else use -O2
|
|
OPTIMIZATION := $(call cc-supports,-Os,-O2)
|
|
|
|
WARNINGS := -Wall
|
|
WARNINGS += $(call cc-supports,-Wstrict-prototypes)
|
|
WARNINGS += $(call cc-supports,-Wdeclaration-after-statement)
|
|
|
|
KERNEL_INCLUDE := $(OUTPUT)include
|
|
ACPICA_INCLUDE := $(srctree)/../../../drivers/acpi/acpica
|
|
CFLAGS += -D_LINUX -I$(KERNEL_INCLUDE) -I$(ACPICA_INCLUDE)
|
|
CFLAGS += $(WARNINGS)
|
|
MKDIR = mkdir
|
|
|
|
ifeq ($(strip $(V)),false)
|
|
QUIET=@
|
|
ECHO=@echo
|
|
else
|
|
QUIET=
|
|
ECHO=@\#
|
|
endif
|
|
|
|
# if DEBUG is enabled, then we do not strip or optimize
|
|
ifeq ($(strip $(DEBUG)),true)
|
|
CFLAGS += -O1 -g -DDEBUG
|
|
STRIPCMD = /bin/true -Since_we_are_debugging
|
|
else
|
|
CFLAGS += $(OPTIMIZATION) -fomit-frame-pointer
|
|
STRIPCMD = $(STRIP) -s --remove-section=.note --remove-section=.comment
|
|
endif
|