From d016db5ce883778042b1c97b6f3d3dde088e801b Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 30 Jul 2026 13:18:55 -0700 Subject: clean up file tree --- makefile | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 makefile (limited to 'makefile') diff --git a/makefile b/makefile new file mode 100644 index 0000000..c62c247 --- /dev/null +++ b/makefile @@ -0,0 +1,63 @@ +CC = clang + +SRC_DIR = src +INC_DIR = include +BUILD_DIR = build +BIN_DIR = bin + +TARGET = $(BIN_DIR)/benchmark + +SOURCES = \ + $(SRC_DIR)/main.c \ + $(SRC_DIR)/spires_interface.c \ + $(SRC_DIR)/crossbar_generator.c \ + $(SRC_DIR)/read_crossbar.c + +OBJECTS = $(SOURCES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%.o) + +CPPFLAGS = \ + -I$(INC_DIR) \ + -Ispires/include \ + -I/usr/include/plplot + +CFLAGS = \ + -Wall \ + -Wextra \ + -Wpedantic \ + -std=c11 \ + -g \ + -fopenmp + +LDFLAGS = \ + -Lspires/lib \ + -Wl,-rpath,'$$ORIGIN/../spires/lib' + +LDLIBS = \ + -lspires \ + -lopenblas \ + -llapacke \ + -lplplot \ + -lm \ + -fopenmp + +.PHONY: all run clean + +all: $(TARGET) + +$(TARGET): $(OBJECTS) | $(BIN_DIR) + $(CC) $(OBJECTS) $(LDFLAGS) $(LDLIBS) -o $@ + +$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c | $(BUILD_DIR) + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + +$(BUILD_DIR): + mkdir -p $(BUILD_DIR) + +$(BIN_DIR): + mkdir -p $(BIN_DIR) + +run: $(TARGET) + ./$(TARGET) + +clean: + rm -rf $(BUILD_DIR) $(BIN_DIR) -- cgit v1.2.3