make: Reduce build output
Default to silent builds, only outputting the file being generated. This gives output similar to Linux/coreboot output when building. `VERBOSE=1` can be passed to show the actual commands. Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
committed by
Tim Crawford
parent
2056d4d5e0
commit
b03c960b4f
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -96,4 +96,4 @@ jobs:
|
||||
run: ./scripts/deps.sh
|
||||
|
||||
- name: Build firmware
|
||||
run: make BOARD=${{ matrix.vendor}}/${{ matrix.board }}
|
||||
run: make BOARD=${{ matrix.vendor}}/${{ matrix.board }} VERBOSE=1
|
||||
|
12
Makefile
12
Makefile
@ -5,6 +5,11 @@
|
||||
# Disable built-in rules and variables
|
||||
MAKEFLAGS += -rR
|
||||
|
||||
# Default to silent builds
|
||||
ifneq ($(VERBOSE),1)
|
||||
MAKEFLAGS += -s
|
||||
endif
|
||||
|
||||
# Parameter for current board
|
||||
ifeq ($(BOARD),)
|
||||
all:
|
||||
@ -20,11 +25,12 @@ REV=$(shell git describe --abbrev=7 --always --dirty)
|
||||
VERSION?=$(DATE)_$(REV)
|
||||
|
||||
# Set build directory
|
||||
BUILD=build/$(BOARD)/$(VERSION)
|
||||
obj = build
|
||||
BUILD = $(obj)/$(BOARD)/$(VERSION)
|
||||
|
||||
# Default target - build the board's EC firmware
|
||||
all: $(BUILD)/ec.rom
|
||||
$(info Built '$(VERSION)' for '$(BOARD)')
|
||||
$(info Built $(VERSION) for $(BOARD))
|
||||
|
||||
# Include common source
|
||||
COMMON_DIR=src/common
|
||||
@ -65,4 +71,4 @@ endif
|
||||
|
||||
# Target to remove build artifacts
|
||||
clean:
|
||||
rm -rf build
|
||||
rm -rf $(obj)
|
||||
|
@ -31,22 +31,26 @@ sim: $(BUILD)/ec.rom
|
||||
|
||||
# Convert from Intel Hex file to binary file
|
||||
$(BUILD)/ec.rom: $(BUILD)/ec.ihx
|
||||
@mkdir -p $(@D)
|
||||
@echo " OBJCOPY $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
objcopy -I ihex -O binary --gap-fill=0xFF $< $@
|
||||
|
||||
# Link object files into Intel Hex file
|
||||
$(BUILD)/ec.ihx: $(OBJ)
|
||||
@mkdir -p $(@D)
|
||||
@echo " LINK $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(CC) $(LDFLAGS) -o $@ $^
|
||||
|
||||
# Compile ASM files into object files
|
||||
$(ASM_OBJ): $(BUILD)/%.rel: src/%.asm
|
||||
@mkdir -p $(@D)
|
||||
@echo " AS $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(AS) $(ASFLAGS) $@ $<
|
||||
|
||||
# Compile C files into object files
|
||||
$(C_OBJ): $(BUILD)/%.rel: src/%.c $(INCLUDE)
|
||||
@mkdir -p $(@D)
|
||||
@echo " CC $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
# Add dependency rules
|
||||
|
@ -19,22 +19,26 @@ sim: $(BUILD)/ec.elf
|
||||
|
||||
# Convert from Intel Hex file to binary file
|
||||
$(BUILD)/ec.rom: $(BUILD)/ec.ihx
|
||||
@mkdir -p $(@D)
|
||||
@echo " OBJCOPY $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(OBJCOPY) -I ihex -O binary --gap-fill 0xFF $< $@
|
||||
|
||||
# Convert from ELF file to Intel Hex file
|
||||
$(BUILD)/ec.ihx: $(BUILD)/ec.elf
|
||||
@mkdir -p $(@D)
|
||||
@echo " OBJCOPY $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(OBJCOPY) -j .text -j .data -O ihex $< $@
|
||||
|
||||
# Link object files into ELF file
|
||||
$(BUILD)/ec.elf: $(OBJ)
|
||||
@mkdir -p $(@D)
|
||||
@echo " LINK $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(CC) -o $@ $^
|
||||
|
||||
# Compile C files into object files
|
||||
$(BUILD)/%.o: src/%.c $(INCLUDE)
|
||||
@mkdir -p $(@D)
|
||||
@echo " CC $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
# Add dependency rules
|
||||
|
@ -33,22 +33,26 @@ FLASH_CC=\
|
||||
|
||||
# Convert from binary file to C header
|
||||
$(BUILD)/include/flash.h: $(FLASH_BUILD)/flash.rom
|
||||
@mkdir -p $(@D)
|
||||
@echo " XXD $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
xxd -include < $< > $@
|
||||
|
||||
# Convert from Intel Hex file to binary file
|
||||
$(FLASH_BUILD)/flash.rom: $(FLASH_BUILD)/flash.ihx
|
||||
@mkdir -p $(@D)
|
||||
@echo " OBJCOPY $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
objcopy -I ihex -O binary $< $@
|
||||
|
||||
# Link object files into Intel Hex file
|
||||
$(FLASH_BUILD)/flash.ihx: $(FLASH_OBJ)
|
||||
@mkdir -p $(@D)
|
||||
@echo " LINK $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(FLASH_CC) -o $@ $^
|
||||
|
||||
# Compile C files into object files
|
||||
$(FLASH_OBJ): $(FLASH_BUILD)/%.rel: src/%.c $(FLASH_INCLUDE)
|
||||
@mkdir -p $(@D)
|
||||
@echo " CC $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(FLASH_CC) $(FLASH_CFLAGS) -o $@ -c $<
|
||||
|
||||
# Include flash header in main firmware
|
||||
|
@ -32,22 +32,26 @@ SCRATCH_CC=\
|
||||
|
||||
# Convert from binary file to C header
|
||||
$(BUILD)/include/scratch.h: $(SCRATCH_BUILD)/scratch.rom
|
||||
@mkdir -p $(@D)
|
||||
@echo " XXD $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
xxd -include < $< > $@
|
||||
|
||||
# Convert from Intel Hex file to binary file
|
||||
$(SCRATCH_BUILD)/scratch.rom: $(SCRATCH_BUILD)/scratch.ihx
|
||||
@mkdir -p $(@D)
|
||||
@echo " OBJCOPY $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
objcopy -I ihex -O binary $< $@
|
||||
|
||||
# Link object files into Intel Hex file
|
||||
$(SCRATCH_BUILD)/scratch.ihx: $(SCRATCH_OBJ)
|
||||
@mkdir -p $(@D)
|
||||
@echo " LINK $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(SCRATCH_CC) -o $@ $^
|
||||
|
||||
# Compile C files into object files
|
||||
$(SCRATCH_OBJ): $(SCRATCH_BUILD)/%.rel: src/%.c $(SCRATCH_INCLUDE)
|
||||
@mkdir -p $(@D)
|
||||
@echo " CC $(subst $(obj)/,,$@)"
|
||||
mkdir -p $(@D)
|
||||
$(SCRATCH_CC) $(SCRATCH_CFLAGS) -o $@ -c $<
|
||||
|
||||
# Include scratch header in main firmware
|
||||
|
Reference in New Issue
Block a user