Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ACPI: tools: Fix compilation when output directory is not present

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>

authored by

Chen Yu and committed by
Rafael J. Wysocki
11f8cb89 0fcfb00b

+2
+1
tools/power/acpi/Makefile.config
··· 69 69 ACPICA_INCLUDE := $(srctree)/../../../drivers/acpi/acpica 70 70 CFLAGS += -D_LINUX -I$(KERNEL_INCLUDE) -I$(ACPICA_INCLUDE) 71 71 CFLAGS += $(WARNINGS) 72 + MKDIR = mkdir 72 73 73 74 ifeq ($(strip $(V)),false) 74 75 QUIET=@
+1
tools/power/acpi/Makefile.rules
··· 21 21 22 22 $(objdir)%.o: %.c $(KERNEL_INCLUDE) 23 23 $(ECHO) " CC " $(subst $(OUTPUT),,$@) 24 + $(QUIET) $(MKDIR) -p $(objdir) 2>/dev/null 24 25 $(QUIET) $(CC) -c $(CFLAGS) -o $@ $< 25 26 26 27 all: $(OUTPUT)$(TOOL)