ringbuf/Makefile
2024-06-23 16:27:51 +02:00

42 lines
970 B
Makefile

# SPDX-License-Identifier: MIT
CC = gcc
CFLAGS = -Wall -Wextra -Werror -Wno-unused-parameter
CFLAGS += -Wno-unused-variable -Wno-unused-function
CFLAGS += -Wno-unused-but-set-variable -Wno-unused-value -Wno-unused-label
CFLAGS += -Wno-unused-result -Wno-unused-const-variable
CFLAGS += -fno-exceptions -fno-asynchronous-unwind-tables -fno-ident
CFLAGS += -fno-unwind-tables -fno-stack-protector -fno-plt -fno-pic
CFLAGS += -O3 -std=c99 -march=native -mtune=native -fomit-frame-pointer
C_SOURCES = $(wildcard *.c)
C_HEADERS = $(wildcard *.h)
OBJECTS = $(C_SOURCES:.c=.o)
ASMS = $(C_SOURCES:.c=.s)
all: $(OBJECTS)
%.o: %.c $(C_HEADERS)
@echo "CC $<"
@$(CC) $(CFLAGS) -c $< -o $@
%.s: %.c $(C_HEADERS)
@echo "CC $<"
@$(CC) $(CFLAGS) -S -masm=intel $<
wc -l $@
driver: $(OBJECTS)
@$(CC) $(CFLAGS) $^ -o $@
run: driver
@./driver
clean:
rm -f $(OBJECTS) $(ASMS)
asm: $(ASMS)
format:
clang-format -i $(C_SOURCES) $(C_HEADERS)
.PHONY: all clean format asm