Distributed File System written in C
1CC := gcc
2# CFLAGS := -std=gnu99 -g -ggdb -Wall -Wextra -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wconversion -Wunreachable-code -pedantic -fsanitize=address -fsanitize=undefined -Wno-builtin-declaration-mismatch -save-temps
3CFLAGS := -std=gnu99 -g -ggdb -Wall -Wextra -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wconversion -Wunreachable-code -pedantic -Wno-builtin-declaration-mismatch -Wno-missing-braces
4
5SRC_DIR := src
6LIB_DIR := src/lib
7BUILD := .build
8
9LIB_SRC := $(wildcard $(LIB_DIR)/*.c)
10SRC := $(filter-out $(LIB_SRC), $(wildcard $(SRC_DIR)/*.c))
11OBJ := $(patsubst $(SRC_DIR)/%.c, $(BUILD)/%.o, $(SRC))
12TARGETS := $(patsubst $(SRC_DIR)/%.c, $(BUILD)/%, $(SRC))
13
14all: $(TARGETS)
15
16$(BUILD)/%: $(SRC_DIR)/%.c $(LIB_SRC) | $(BUILD)
17 $(CC) $(CFLAGS) $(LIB_SRC) $< -o $@
18
19$(BUILD):
20 mkdir -p data
21 mkdir -p $(BUILD)
22
23clean:
24 rm -rf $(BUILD)
25
26docs:
27 mkdir -p docs
28 doxygen Doxyfile
29
30.PHONY: all clean