fedir
e48cbc62f1
Now source files handling is delegated to functions defined in `sourcefs.c` file. By encapsulating methods for managing the underlying source files structure we ensure that all code changes to the source file protection strategy will be localized to `sourcefs.c` file. Also changed Makefile to use more sane way of handling options and build flags.
36 lines
893 B
Makefile
36 lines
893 B
Makefile
SHELL=/bin/bash
|
|
|
|
CC := gcc
|
|
CXX := g++
|
|
|
|
CFLAGS := -I/usr/include/fuse -D_FILE_OFFSET_BITS=64
|
|
LDFLAGS := -lfuse3 -pthread
|
|
|
|
ifdef DEBUG
|
|
CFLAGS += -O0 -pedantic -Wall -Wextra -Wcast-align \
|
|
-Wcast-qual -Wdisabled-optimization -Wformat=2 \
|
|
-Winit-self -Wlogical-op -Wmissing-declarations \
|
|
-Wmissing-include-dirs -Wredundant-decls -Wshadow \
|
|
-Wsign-conversion -Wstrict-overflow=5 \
|
|
-Wswitch-default -Wundef -Wno-unused
|
|
LDFLAGS +=
|
|
else
|
|
CFLAGS += -O3
|
|
LDFLAGS +=
|
|
endif
|
|
|
|
SOURCES_DIR := ./sources
|
|
BUILD_DIR := ./build
|
|
|
|
build: $(BUILD_DIR)/main.o $(BUILD_DIR)/sourcefs.o
|
|
$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $(BUILD_DIR)/icfs
|
|
|
|
$(BUILD_DIR)/main.o: $(SOURCES_DIR)/main.c
|
|
$(CC) $(CFLAGS) -c $< $(LDFLAGS) -o $(BUILD_DIR)/main.o
|
|
|
|
$(BUILD_DIR)/sourcefs.o: $(SOURCES_DIR)/sourcefs.c $(SOURCES_DIR)/sourcefs.h
|
|
$(CC) $(CFLAGS) -c $< $(LDFLAGS) -o $@
|
|
|
|
clean:
|
|
rm $(BUILD_DIR)/*
|