mirror of
https://github.com/Dasharo/skiboot.git
synced 2026-03-06 14:50:44 -08:00
65789e2a00
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
85 lines
1.9 KiB
Makefile
85 lines
1.9 KiB
Makefile
# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
|
#
|
|
# These allow for the build to be less verbose
|
|
#
|
|
# Copyright 2012-2019 IBM Corp
|
|
|
|
ifdef V
|
|
VERBOSE:= $(V)
|
|
else
|
|
VERBOSE:= 0
|
|
endif
|
|
|
|
ifeq ($(VERBOSE),1)
|
|
define Q
|
|
$(2)
|
|
endef
|
|
else
|
|
ifneq ($(filter s% -s%,$(MAKEFLAGS)),)
|
|
define Q
|
|
@$(2)
|
|
endef
|
|
else
|
|
define Q
|
|
@echo " [$1] $(3)"
|
|
@$(2)
|
|
endef
|
|
endif
|
|
endif
|
|
|
|
define QTEST
|
|
$(call Q,$1, ./test/run.sh $2, $3)
|
|
endef
|
|
|
|
define cook_aflags
|
|
$(filter-out $(AFLAGS_SKIP_$(1)) $(AFLAGS_SKIP_$(dir $(1))), $(CPPFLAGS) $(AFLAGS)) $(AFLAGS_$(1)) $(AFLAGS_$(dir $(1)))
|
|
endef
|
|
|
|
define cook_cflags
|
|
$(filter-out $(CFLAGS_SKIP_$(1)) $(CFLAGS_SKIP_$(dir $(1))), $(CPPFLAGS) $(CFLAGS)) $(CFLAGS_$(1)) $(CFLAGS_$(dir $(1)))
|
|
endef
|
|
|
|
ifeq ($(C),1)
|
|
ifeq ($(VERBOSE),1)
|
|
cmd_check = $(CHECK) $(CHECKFLAGS) $(filter-out $(CHECK_CFLAGS_SKIP),$(call cook_cflags,$@)) $<
|
|
else
|
|
cmd_check = @$(CHECK) $(CHECKFLAGS) $(filter-out $(CHECK_CFLAGS_SKIP),$(call cook_cflags,$@)) $<
|
|
endif
|
|
endif
|
|
|
|
|
|
%.o : %.S include/asm-offsets.h
|
|
$(call Q,AS, $(CC) $(call cook_aflags,$@) -c $< -o $@, $@)
|
|
|
|
%.s : %.S include/asm-offsets.h
|
|
$(call Q,CC, $(CC) $(call cook_aflags,$@) -E -c $< -o $@, $@)
|
|
|
|
%.o : %.c
|
|
$(call cmd_check)
|
|
$(call Q,CC, $(CC) $(call cook_cflags,$@) -c $< -o $@, $@)
|
|
|
|
# Force the use of the C compiler, not C++ for the .C files in libpore
|
|
%.o : %.C
|
|
$(call cmd_check)
|
|
$(call Q,CC, $(CC) $(call cook_cflags,$@) -x c -c $< -o $@, $@)
|
|
|
|
%.s : %.c
|
|
$(call Q,CC, $(CC) $(call cook_cflags,$@) -fverbose-asm -S -c $< -o $@, $@)
|
|
|
|
# no -fverbose-asm for asm-offsets.s
|
|
asm/asm-offsets.s: asm/asm-offsets.c
|
|
$(call Q,CC, $(CC) $(call cook_cflags,$@) -S -c $< -o $@, $@)
|
|
|
|
%.i : %.c
|
|
$(call Q,CC, $(CC) $(call cook_cflags,$@) -E -c $< -o $@, $@)
|
|
|
|
%built-in.a :
|
|
@rm -f $@
|
|
$(call Q,AR, $(AR) rcSTPD $@ $^, $@)
|
|
|
|
%.lds : %.lds.S
|
|
$(call Q,CC, $(CC) $(CPPFLAGS) -P -E $< -o $@, $@)
|
|
|
|
%.map: %.elf
|
|
$(call Q,NM, $(NM) --synthetic -n $< | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $@, $@)
|