From c3d8588c40f4ebde2d7e280126bbadad687571e4 Mon Sep 17 00:00:00 2001 From: htom Date: Wed, 17 Dec 2025 12:19:31 +0100 Subject: [PATCH] save makefile --- Makefile | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5d2c5d7 --- /dev/null +++ b/Makefile @@ -0,0 +1,51 @@ +APPNAME = hardcompound +SRCDIR = src +BUILDDIR = build +VENDORDIR = vendor + +target = linux + +ifeq ($(target), windows) + CC = x86_64-w64-mingw32-gcc + CXX = x86_64-w64-mingw32-g++ + EXT = .exe + + CFLAGS = -Wall -o2 -I$(SRCDIR) -I$(VENDORDIR)/mariadb/include -I$(VENDORDIR)/duckdb/include -I$(VENDORDIR)/glad/include -I$(VENDORDIR)/glfw/include + LIBS = -L$(VENDORDIR)/mariadb/lib -llibmariadb -L$(VENDORDIR)/duckdb/lib -lduckdb -L$(VENDORDIR)/glfw/lib -lglfw3 -lgdi32 -lopengl32 -lws2_32 -lshlwapi -lcrypt32 -lsecur32 +else + CC = gcc + CXX = g++ + EXT = + CFLAGS = -Wall -O2 -I$(SRCDIR) `pkg-config --cflags libmariadb` -I$(VENDORDIR)/glad/include -I$(VENDORDIR)/cimgui/linux/include -I$(VENDORDIR)/cimplot/linux/include + LIBS = `pkg-config --libs libmariadb` -lduckdb -lglfw -ldl -lm -L$(VENDORDIR)/cimgui/linux/lib -lcimgui -Wl,-rpath,$(VENDORDIR)/cimgui/linux/lib -L$(VENDORDIR)/cimplot/linux/lib -lcimplot -Wl,-rpath,$(VENDORDIR)/cimplot/linux/lib +endif + +SRC = $(shell find $(SRCDIR) -name "*.c") +#SRC += $(VENDORDIR)/glad/src/glad.c +OBJ = $(SRC:$(SRCDIR)/%.c=$(BUILDDIR)/%.o) +OBJ += $(BUILDDIR)/glad.o + +all: $(BUILDDIR)/$(APPNAME)$(EXT) + +$(BUILDDIR)/$(APPNAME)$(EXT): $(OBJ) + @echo "Linking $@" + @mkdir -p $(dir $@) + $(CC) $(OBJ) -o $@ $(LIBS) + +$(BUILDDIR)/%.o: $(SRCDIR)/%.c + @echo "Compiling $<" + @mkdir -p $(dir $@) + $(CC) $(CFLAGS) -c $< -o $@ + +$(BUILDDIR)/glad.o: $(VENDORDIR)/glad/src/glad.c + @echo "Compiling GLAD $<" + @mkdir -p $(dir $@) + $(CC) $(CFLAGS) -c $< -o $@ + +clean: + rm -rf $(BUILDDIR) + +run: all + ./$(BUILDDIR)/$(APPNAME)$(EXT) + +.PHONY: all clean run