blob: a1883bbb014478d9239d24fda259c61bde853b23 [file] [log] [blame]
Lv Zheng391fc232015-07-28 13:25:25 +08001# tools/power/acpi/Makefile.config - ACPI tool Makefile
2#
3# Copyright (c) 2015, Intel Corporation
4# Author: Lv Zheng <lv.zheng@intel.com>
5#
6# This program is free software; you can redistribute it and/or
7# modify it under the terms of the GNU General Public License
8# as published by the Free Software Foundation; version 2
9# of the License.
10
Lv Zhengd5a4b1a2016-11-16 17:27:34 +080011ifeq ($(srctree),)
12srctree := $(patsubst %/,%,$(dir $(shell pwd)))
13srctree := $(patsubst %/,%,$(dir $(srctree)))
14#$(info Determined 'srctree' to be $(srctree))
15endif
Lv Zheng391fc232015-07-28 13:25:25 +080016
Lv Zhengd5a4b1a2016-11-16 17:27:34 +080017include $(srctree)/../../scripts/Makefile.include
18
19OUTPUT=$(srctree)/
Lv Zheng391fc232015-07-28 13:25:25 +080020ifeq ("$(origin O)", "command line")
Lv Zhengd5a4b1a2016-11-16 17:27:34 +080021 OUTPUT := $(O)/power/acpi/
Lv Zheng391fc232015-07-28 13:25:25 +080022endif
Lv Zhengd5a4b1a2016-11-16 17:27:34 +080023#$(info Determined 'OUTPUT' to be $(OUTPUT))
Lv Zheng391fc232015-07-28 13:25:25 +080024
25# --- CONFIGURATION BEGIN ---
26
27# Set the following to `true' to make a unstripped, unoptimized
28# binary. Leave this set to `false' for production use.
29DEBUG ?= true
30
31# make the build silent. Set this to something else to make it noisy again.
32V ?= false
33
34# Prefix to the directories we're installing to
35DESTDIR ?=
36
37# --- CONFIGURATION END ---
38
39# Directory definitions. These are default and most probably
40# do not need to be changed. Please note that DESTDIR is
41# added in front of any of them
42
43bindir ?= /usr/bin
44sbindir ?= /usr/sbin
45mandir ?= /usr/man
46
47# Toolchain: what tools do we use, and what options do they need:
48
49INSTALL = /usr/bin/install -c
50INSTALL_PROGRAM = ${INSTALL}
51INSTALL_DATA = ${INSTALL} -m 644
52INSTALL_SCRIPT = ${INSTALL_PROGRAM}
53
54# If you are running a cross compiler, you may want to set this
55# to something more interesting, like "arm-linux-". If you want
56# to compile vs uClibc, that can be done here as well.
57CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc-
Andy Shevchenkoa3bcf2d2016-06-17 16:01:08 +030058CROSS_COMPILE ?= $(CROSS)
59CC = $(CROSS_COMPILE)gcc
60LD = $(CROSS_COMPILE)gcc
61STRIP = $(CROSS_COMPILE)strip
Lv Zheng391fc232015-07-28 13:25:25 +080062HOSTCC = gcc
63
64# check if compiler option is supported
65cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -x c /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;}
66
67# use '-Os' optimization if available, else use -O2
68OPTIMIZATION := $(call cc-supports,-Os,-O2)
69
70WARNINGS := -Wall
71WARNINGS += $(call cc-supports,-Wstrict-prototypes)
72WARNINGS += $(call cc-supports,-Wdeclaration-after-statement)
73
Lv Zhengd5a4b1a2016-11-16 17:27:34 +080074KERNEL_INCLUDE := $(OUTPUT)include
75ACPICA_INCLUDE := $(srctree)/../../../drivers/acpi/acpica
Lv Zheng391fc232015-07-28 13:25:25 +080076CFLAGS += -D_LINUX -I$(KERNEL_INCLUDE) -I$(ACPICA_INCLUDE)
77CFLAGS += $(WARNINGS)
78
79ifeq ($(strip $(V)),false)
80 QUIET=@
81 ECHO=@echo
82else
83 QUIET=
84 ECHO=@\#
85endif
86
87# if DEBUG is enabled, then we do not strip or optimize
88ifeq ($(strip $(DEBUG)),true)
89 CFLAGS += -O1 -g -DDEBUG
90 STRIPCMD = /bin/true -Since_we_are_debugging
91else
92 CFLAGS += $(OPTIMIZATION) -fomit-frame-pointer
93 STRIPCMD = $(STRIP) -s --remove-section=.note --remove-section=.comment
94endif