You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
commit 5d890591db6bed8ca69bd4bfe0cdaca372973033 upstream. Compute the headers to be installed from their source headers and make each have its own build target to install it. Using dependencies avoids headers being reinstalled and getting a new timestamp which then causes files that depend on the header to be rebuilt. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Josh Poimboeuf <jpoimboe@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Nick Desaulniers <ndesaulniers@google.com> Cc: Nicolas Schier <nicolas@fjasle.eu> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Rix <trix@redhat.com> Cc: bpf@vger.kernel.org Cc: llvm@lists.linux.dev Link: https://lore.kernel.org/r/20221202045743.2639466-4-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
123 lines
2.8 KiB
Makefile
123 lines
2.8 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
include ../../scripts/Makefile.include
|
|
include ../../scripts/utilities.mak # QUIET_CLEAN
|
|
|
|
ifeq ($(srctree),)
|
|
srctree := $(patsubst %/,%,$(dir $(CURDIR)))
|
|
srctree := $(patsubst %/,%,$(dir $(srctree)))
|
|
srctree := $(patsubst %/,%,$(dir $(srctree)))
|
|
#$(info Determined 'srctree' to be $(srctree))
|
|
endif
|
|
|
|
CC ?= $(CROSS_COMPILE)gcc
|
|
LD ?= $(CROSS_COMPILE)ld
|
|
AR ?= $(CROSS_COMPILE)ar
|
|
|
|
RM = rm -f
|
|
|
|
MAKEFLAGS += --no-print-directory
|
|
|
|
INSTALL = install
|
|
|
|
# Use DESTDIR for installing into a different root directory.
|
|
# This is useful for building a package. The program will be
|
|
# installed in this directory as if it was the root directory.
|
|
# Then the build tool can move it later.
|
|
DESTDIR ?=
|
|
DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
|
|
|
|
LIBFILE = $(OUTPUT)libsubcmd.a
|
|
|
|
CFLAGS := -ggdb3 -Wall -Wextra -std=gnu99 -fPIC
|
|
|
|
ifeq ($(DEBUG),0)
|
|
ifeq ($(feature-fortify-source), 1)
|
|
CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(DEBUG),1)
|
|
CFLAGS += -O0
|
|
else ifeq ($(CC_NO_CLANG), 0)
|
|
CFLAGS += -O3
|
|
else
|
|
CFLAGS += -O6
|
|
endif
|
|
|
|
# Treat warnings as errors unless directed not to
|
|
ifneq ($(WERROR),0)
|
|
CFLAGS += -Werror
|
|
endif
|
|
|
|
CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
|
|
|
|
CFLAGS += -I$(srctree)/tools/include/
|
|
|
|
CFLAGS += $(EXTRA_WARNINGS) $(EXTRA_CFLAGS)
|
|
|
|
SUBCMD_IN := $(OUTPUT)libsubcmd-in.o
|
|
|
|
ifeq ($(LP64), 1)
|
|
libdir_relative = lib64
|
|
else
|
|
libdir_relative = lib
|
|
endif
|
|
|
|
prefix ?=
|
|
libdir = $(prefix)/$(libdir_relative)
|
|
|
|
# Shell quotes
|
|
libdir_SQ = $(subst ','\'',$(libdir))
|
|
|
|
all:
|
|
|
|
export srctree OUTPUT CC LD CFLAGS V
|
|
include $(srctree)/tools/build/Makefile.include
|
|
|
|
all: fixdep $(LIBFILE)
|
|
|
|
$(SUBCMD_IN): FORCE
|
|
@$(MAKE) $(build)=libsubcmd
|
|
|
|
$(LIBFILE): $(SUBCMD_IN)
|
|
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(SUBCMD_IN)
|
|
|
|
define do_install_mkdir
|
|
if [ ! -d '$(DESTDIR_SQ)$1' ]; then \
|
|
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$1'; \
|
|
fi
|
|
endef
|
|
|
|
define do_install
|
|
if [ ! -d '$2' ]; then \
|
|
$(INSTALL) -d -m 755 '$2'; \
|
|
fi; \
|
|
$(INSTALL) $1 $(if $3,-m $3,) '$2'
|
|
endef
|
|
|
|
install_lib: $(LIBFILE)
|
|
$(call QUIET_INSTALL, $(LIBFILE)) \
|
|
$(call do_install_mkdir,$(libdir_SQ)); \
|
|
cp -fpR $(LIBFILE) $(DESTDIR)$(libdir_SQ)
|
|
|
|
HDRS := exec-cmd.h help.h pager.h parse-options.h run-command.h
|
|
INSTALL_HDRS_PFX := $(DESTDIR)$(prefix)/include/subcmd
|
|
INSTALL_HDRS := $(addprefix $(INSTALL_HDRS_PFX)/, $(HDRS))
|
|
|
|
$(INSTALL_HDRS): $(INSTALL_HDRS_PFX)/%.h: %.h
|
|
$(call QUIET_INSTALL, $@) \
|
|
$(call do_install,$<,$(INSTALL_HDRS_PFX)/,644)
|
|
|
|
install_headers: $(INSTALL_HDRS)
|
|
$(call QUIET_INSTALL, libsubcmd_headers)
|
|
|
|
install: install_lib install_headers
|
|
|
|
clean:
|
|
$(call QUIET_CLEAN, libsubcmd) $(RM) $(LIBFILE); \
|
|
find $(or $(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM)
|
|
|
|
FORCE:
|
|
|
|
.PHONY: clean FORCE
|