22 lines
728 B
Makefile
22 lines
728 B
Makefile
LIBS :=
|
|
ifeq ($(NOQA),)
|
|
CFLAGS += -std=c89 -ansi -Wall -Wextra -Wpedantic -pedantic -Wshadow -Werror -Wconversion -Wformat -Wuninitialized -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wredundant-decls -Wfloat-equal -Wcast-qual -Wnested-externs -Wvla -Winline -Wmissing-format-attribute -Wmissing-noreturn
|
|
endif
|
|
|
|
SRC_DIR := src
|
|
OBJ_DIR := obj
|
|
|
|
SRC_FILES := $(wildcard $(SRC_DIR)/*.c)
|
|
OBJ_FILES := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRC_FILES))
|
|
|
|
bean: $(OBJ_FILES)
|
|
$(CC) -o $@ $(CFLAGS) $(F_CFLAGS) $^ $(LIBS) $(LDFLAGS) $(F_LDFLAGS)
|
|
|
|
$(OBJ_DIR):
|
|
mkdir -p $(OBJ_DIR)
|
|
|
|
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(SRC_DIR)/%.h | $(OBJ_DIR)
|
|
$(CC) -c -o $@ $(CFLAGS) $< $(LDFLAGS)
|
|
|
|
clean:
|
|
rm -rf bean $(OBJ_DIR)
|