xref: /linux/tools/power/acpi/Makefile.rules (revision 6fdcba32711044c35c0e1b094cbd8f3f0b4472c9)
1# SPDX-License-Identifier: GPL-2.0-only
2# tools/power/acpi/Makefile.rules - ACPI tool Makefile
3#
4# Copyright (c) 2015, Intel Corporation
5#   Author: Lv Zheng <lv.zheng@intel.com>
6#
7
8objdir := $(OUTPUT)tools/$(TOOL)/
9toolobjs := $(addprefix $(objdir),$(TOOL_OBJS))
10$(OUTPUT)$(TOOL): $(toolobjs) FORCE
11	$(ECHO) "  LD      " $(subst $(OUTPUT),,$@)
12	$(QUIET) $(LD) $(CFLAGS) $(LDFLAGS) $(toolobjs) -L$(OUTPUT) -o $@
13	$(ECHO) "  STRIP   " $(subst $(OUTPUT),,$@)
14	$(QUIET) $(STRIPCMD) $@
15
16$(KERNEL_INCLUDE):
17	$(ECHO) "  MKDIR   " $(subst $(OUTPUT),,$@)
18	$(QUIET) mkdir -p $(KERNEL_INCLUDE)
19	$(ECHO) "  CP      " $(subst $(OUTPUT),,$@)
20	$(QUIET) cp -rf $(srctree)/../../../include/acpi $(KERNEL_INCLUDE)/
21
22$(objdir)%.o: %.c $(KERNEL_INCLUDE)
23	$(ECHO) "  CC      " $(subst $(OUTPUT),,$@)
24	$(QUIET) $(CC) -c $(CFLAGS) -o $@ $<
25
26all: $(OUTPUT)$(TOOL)
27clean:
28	$(ECHO) "  RMOBJ   " $(subst $(OUTPUT),,$(objdir))
29	$(QUIET) find $(objdir) \( -not -type d \)\
30		 -and \( -name '*~' -o -name '*.[oas]' \)\
31		 -type f -print | xargs rm -f
32	$(ECHO) "  RM      " $(TOOL)
33	$(QUIET) rm -f $(OUTPUT)$(TOOL)
34	$(ECHO) "  RMINC   " $(subst $(OUTPUT),,$(KERNEL_INCLUDE))
35	$(QUIET) rm -rf $(KERNEL_INCLUDE)
36
37install-tools:
38	$(ECHO) "  INST    " $(TOOL)
39	$(QUIET) $(INSTALL) -d $(DESTDIR)$(sbindir)
40	$(QUIET) $(INSTALL_PROGRAM) $(OUTPUT)$(TOOL) $(DESTDIR)$(sbindir)
41uninstall-tools:
42	$(ECHO) "  UNINST  " $(TOOL)
43	$(QUIET) rm -f $(DESTDIR)$(sbindir)/$(TOOL)
44
45install: all install-tools $(EXTRA_INSTALL)
46uninstall: uninstall-tools $(EXTRA_UNINSTALL)
47
48.PHONY: FORCE
49