save makefile

This commit is contained in:
2025-12-17 12:19:31 +01:00
commit d8760a188e

51
Makefile Normal file
View File

@@ -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