-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
31 lines (24 loc) · 902 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
MOUNTPOINT = ./mountpoint
FS_LOG = ./fs.log
BUILD_DIR = ./build
CXX = g++
# CXXFLAGS = -g -DDEPLOY -fsanitize=address -Wall -Wextra
CXXFLAGS = -g -DDEPLOY -fsanitize=address
FUSE_FLAGS = -D_FILE_OFFSET_BITS=64 -lfuse3 -DFUSING
SRC_FILES = floppy.cpp device.cpp util.cpp BlockManager.cpp InodeManager.cpp img.cpp
FUSE_SRC_FILES = $(SRC_FILES) fuse.cpp
HEADERS = ext2.h floppy.h device.h util.h BlockManager.h InodeManager.h img.h
.PHONY: all clean start stop floppy fuse
all: floppy fuse
start: fuse
./build/fuse ${MOUNTPOINT} -s -d -o allow_other -o auto_unmount 2> ${FS_LOG} &
stop:
fusermount -u ${MOUNTPOINT}
floppy: $(HEADERS) $(SRC_FILES)
@mkdir -p $(BUILD_DIR)
$(CXX) $(SRC_FILES) -o $(BUILD_DIR)/floppy $(CXXFLAGS)
fuse: $(HEADERS) $(FUSE_SRC_FILES)
@mkdir -p $(BUILD_DIR)
$(CXX) $(FUSE_SRC_FILES) -o $(BUILD_DIR)/fuse $(CXXFLAGS) $(FUSE_FLAGS)
clean:
rm -rf $(BUILD_DIR) ${FS_LOG}