diff options
Diffstat (limited to 'tools/power/acpi/Makefile')
-rw-r--r-- | tools/power/acpi/Makefile | 149 |
1 files changed, 137 insertions, 12 deletions
diff --git a/tools/power/acpi/Makefile b/tools/power/acpi/Makefile index bafeb8d662a3..d9186a2fdf06 100644 --- a/tools/power/acpi/Makefile +++ b/tools/power/acpi/Makefile | |||
@@ -1,18 +1,143 @@ | |||
1 | PROG= acpidump | 1 | # tools/power/acpi/Makefile - ACPI tool Makefile |
2 | SRCS= acpidump.c | 2 | # |
3 | # Copyright (c) 2013, 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 | |||
11 | OUTPUT=./ | ||
12 | ifeq ("$(origin O)", "command line") | ||
13 | OUTPUT := $(O)/ | ||
14 | endif | ||
15 | |||
16 | ifneq ($(OUTPUT),) | ||
17 | # check that the output directory actually exists | ||
18 | OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd) | ||
19 | $(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist)) | ||
20 | endif | ||
21 | |||
22 | # --- CONFIGURATION BEGIN --- | ||
23 | |||
24 | # Set the following to `true' to make a unstripped, unoptimized | ||
25 | # binary. Leave this set to `false' for production use. | ||
26 | DEBUG ?= true | ||
27 | |||
28 | # make the build silent. Set this to something else to make it noisy again. | ||
29 | V ?= false | ||
30 | |||
31 | # Prefix to the directories we're installing to | ||
32 | DESTDIR ?= | ||
33 | |||
34 | # --- CONFIGURATION END --- | ||
35 | |||
36 | # Directory definitions. These are default and most probably | ||
37 | # do not need to be changed. Please note that DESTDIR is | ||
38 | # added in front of any of them | ||
39 | |||
40 | bindir ?= /usr/bin | ||
41 | sbindir ?= /usr/sbin | ||
42 | mandir ?= /usr/man | ||
43 | |||
44 | # Toolchain: what tools do we use, and what options do they need: | ||
45 | |||
46 | INSTALL = /usr/bin/install -c | ||
47 | INSTALL_PROGRAM = ${INSTALL} | ||
48 | INSTALL_DATA = ${INSTALL} -m 644 | ||
49 | INSTALL_SCRIPT = ${INSTALL_PROGRAM} | ||
50 | |||
51 | # If you are running a cross compiler, you may want to set this | ||
52 | # to something more interesting, like "arm-linux-". If you want | ||
53 | # to compile vs uClibc, that can be done here as well. | ||
54 | CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc- | ||
55 | CC = $(CROSS)gcc | ||
56 | LD = $(CROSS)gcc | ||
57 | STRIP = $(CROSS)strip | ||
58 | HOSTCC = gcc | ||
59 | |||
60 | # check if compiler option is supported | ||
61 | cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -x c /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;} | ||
62 | |||
63 | # use '-Os' optimization if available, else use -O2 | ||
64 | OPTIMIZATION := $(call cc-supports,-Os,-O2) | ||
65 | |||
66 | WARNINGS := -Wall | ||
67 | WARNINGS += $(call cc-supports,-Wstrict-prototypes) | ||
68 | WARNINGS += $(call cc-supports,-Wdeclaration-after-statement) | ||
69 | |||
3 | KERNEL_INCLUDE := ../../../include | 70 | KERNEL_INCLUDE := ../../../include |
4 | CFLAGS += -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Os -s -D_LINUX -DDEFINE_ALTERNATE_TYPES -I$(KERNEL_INCLUDE) | 71 | CFLAGS += -D_LINUX -DDEFINE_ALTERNATE_TYPES -I$(KERNEL_INCLUDE) |
72 | CFLAGS += $(WARNINGS) | ||
73 | |||
74 | ifeq ($(strip $(V)),false) | ||
75 | QUIET=@ | ||
76 | ECHO=@echo | ||
77 | else | ||
78 | QUIET= | ||
79 | ECHO=@\# | ||
80 | endif | ||
81 | export QUIET ECHO | ||
82 | |||
83 | # if DEBUG is enabled, then we do not strip or optimize | ||
84 | ifeq ($(strip $(DEBUG)),true) | ||
85 | CFLAGS += -O1 -g -DDEBUG | ||
86 | STRIPCMD = /bin/true -Since_we_are_debugging | ||
87 | else | ||
88 | CFLAGS += $(OPTIMIZATION) -fomit-frame-pointer | ||
89 | STRIPCMD = $(STRIP) -s --remove-section=.note --remove-section=.comment | ||
90 | endif | ||
91 | |||
92 | # if DEBUG is enabled, then we do not strip or optimize | ||
93 | ifeq ($(strip $(DEBUG)),true) | ||
94 | CFLAGS += -O1 -g -DDEBUG | ||
95 | STRIPCMD = /bin/true -Since_we_are_debugging | ||
96 | else | ||
97 | CFLAGS += $(OPTIMIZATION) -fomit-frame-pointer | ||
98 | STRIPCMD = $(STRIP) -s --remove-section=.note --remove-section=.comment | ||
99 | endif | ||
100 | |||
101 | # --- ACPIDUMP BEGIN --- | ||
102 | |||
103 | vpath %.c \ | ||
104 | tools/acpidump | ||
105 | |||
106 | DUMP_OBJS = \ | ||
107 | acpidump.o | ||
108 | |||
109 | DUMP_OBJS := $(addprefix $(OUTPUT)tools/acpidump/,$(DUMP_OBJS)) | ||
110 | |||
111 | $(OUTPUT)acpidump: $(DUMP_OBJS) | ||
112 | $(ECHO) " LD " $@ | ||
113 | $(QUIET) $(LD) $(CFLAGS) $(LDFLAGS) $(DUMP_OBJS) -L$(OUTPUT) -o $@ | ||
114 | $(QUIET) $(STRIPCMD) $@ | ||
115 | |||
116 | $(OUTPUT)tools/acpidump/%.o: %.c | ||
117 | $(ECHO) " CC " $@ | ||
118 | $(QUIET) $(CC) -c $(CFLAGS) -o $@ $< | ||
119 | |||
120 | # --- ACPIDUMP END --- | ||
121 | |||
122 | all: $(OUTPUT)acpidump | ||
123 | echo $(OUTPUT) | ||
124 | |||
125 | clean: | ||
126 | -find $(OUTPUT) \( -not -type d \) -and \( -name '*~' -o -name '*.[oas]' \) -type f -print \ | ||
127 | | xargs rm -f | ||
128 | -rm -f $(OUTPUT)acpidump | ||
5 | 129 | ||
6 | all: acpidump | 130 | install-tools: |
7 | $(PROG) : $(SRCS) | 131 | $(INSTALL) -d $(DESTDIR)${bindir} |
8 | $(CC) $(CFLAGS) $(SRCS) -o $(PROG) | 132 | $(INSTALL_PROGRAM) $(OUTPUT)acpidump $(DESTDIR)${sbindir} |
9 | 133 | ||
10 | CLEANFILES= $(PROG) | 134 | install-man: |
135 | $(INSTALL_DATA) -D man/acpidump.8 $(DESTDIR)${mandir}/man8/acpidump.8 | ||
11 | 136 | ||
12 | clean : | 137 | install: all install-tools install-man |
13 | rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) *~ | ||
14 | 138 | ||
15 | install : | 139 | uninstall: |
16 | install acpidump /usr/sbin/acpidump | 140 | - rm -f $(DESTDIR)${sbindir}/acpidump |
17 | install acpidump.8 /usr/share/man/man8 | 141 | - rm -f $(DESTDIR)${mandir}/man8/acpidump.8 |
18 | 142 | ||
143 | .PHONY: all utils install-tools install-man install uninstall clean | ||