| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- CC = gcc
- # https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
- # https://stackoverflow.com/a/3376483
- CFLAGS = \
- -Wall \
- -Wextra \
- -Wfloat-equal \
- -Wundef \
- -Wshadow \
- -Wpointer-arith \
- -Wcast-align \
- -Waggregate-return \
- -Wcast-qual \
- -Wswitch-default \
- -Wswitch-enum \
- -Wconversion \
- -Wunreachable-code \
- -std=c11
- # -Werror \
- NAME = program
- TARGET_DIR = ./target
- SRC = $(wildcard lib/*.c)
- build:
- mkdir -p $(TARGET_DIR)
- $(CC) $(CFLAGS) -o $(TARGET_DIR)/$(NAME) $(SRC) main.c
- build_test:
- mkdir -p $(TARGET_DIR)
- $(CC) $(CFLAGS) -o $(TARGET_DIR)/$(NAME)_test $(SRC) tests.c
- run: build
- $(TARGET_DIR)/$(NAME)
- test: build_test
- $(TARGET_DIR)/$(NAME)_test
- clean:
- rm -r $(TARGET_DIR)
|