summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authoradmin <contact@optics-design.com>2025-04-25 23:46:04 +0200
committeradmin <contact@optics-design.com>2025-04-25 23:46:04 +0200
commit5fd4cb8ab3bb7b44899e2a68703ec3a1d5979f1d (patch)
tree4ea145b76689529dd1a76756cd638d5380f0acc9 /Makefile
parent6be3193593d6fe6dc36e584a44ec629a44fc394b (diff)
Added Icon
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile48
1 files changed, 32 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index 6847ef1..0f83283 100644
--- a/Makefile
+++ b/Makefile
@@ -1,22 +1,32 @@
CC=gcc
-#Base Directories
+# Base Directories
SRCDIR=src
BINDIR=bin
INCDIR=include
+RESDIR=res
-#Common flags
+# Common flags
CFLAGS=-I$(INCDIR) -O2 -march=native -flto #-ffast-math
-#glautils
-GLA_SRCS = $(wildcard $(SRCDIR)/glautils/*.c)
-GLA_EXES = $(patsubst $(SRCDIR)/glautils/%.c, $(BINDIR)/%.exe, $(GLA_SRCS))
-#glamac
-GLAMAC_SRC = $(SRCDIR)/glamac/glamac.c \
- $(SRCDIR)/glamac/glamac_view.c \
- $(SRCDIR)/glamac/glamac_render.c \
- $(SRCDIR)/glamac/glamac_events.c \
- $(SRCDIR)/glamac/glass_data.c
-#SDL2 Stuff
+# Resource compiler for Windows
+WINDRES=windres
+
+# Resource file definitions
+RESOURCE_FILE=glamac.rc # Your resource script file with icon definitions
+RESOURCE_OBJ=$(BINDIR)/glamac_res.o # The compiled resource object file
+
+# glautils
+GLA_SRCS=$(wildcard $(SRCDIR)/glautils/*.c)
+GLA_EXES=$(patsubst $(SRCDIR)/glautils/%.c, $(BINDIR)/%.exe, $(GLA_SRCS))
+
+# glamac
+GLAMAC_SRC=$(SRCDIR)/glamac/glamac.c \
+ $(SRCDIR)/glamac/glamac_view.c \
+ $(SRCDIR)/glamac/glamac_render.c \
+ $(SRCDIR)/glamac/glamac_events.c \
+ $(SRCDIR)/glamac/glass_data.c
+
+# SDL2 Stuff
SDL2_CFLAGS=-I$(USERPROFILE)/scoop/apps/sdl2/current/include/SDl2 -I$(USERPROFILE)/scoop/apps/sdl2-ttf/current/include/SDL2_ttf -O2 -march=native -flto -ffast-math -s
SDL2_LDFLAGS=-L$(USERPROFILE)/scoop/apps/sdl2/current/lib -L$(USERPROFILE)/scoop/apps/sdl2-ttf/current/lib -lSDL2main -lSDL2 -lSDL2_ttf -mwindows -flto
SDL2_DLL_SRC=$(USERPROFILE)/scoop/apps/sdl2/current/lib/SDL2.dll
@@ -25,24 +35,30 @@ SDL2_DLL_DEST=$(BINDIR)
# Setup target
setup:
- mkdir -p $(BINDIR) $(INCDIR)
+ mkdir -p $(BINDIR)
-all: setup glautils glamac sdl2 structure
+all: glautils glamac sdl2 structure
glautils: $(GLA_EXES)
$(BINDIR)/%.exe: $(SRCDIR)/glautils/%.c
$(CC) $< $(CFLAGS) -o $@
+# Compile resource file
+$(RESOURCE_OBJ): $(RESOURCE_FILE)
+ $(WINDRES) -i $< -o $@
+
+# Link glamac with resources
glamac: $(BINDIR)/glamac.exe
-$(BINDIR)/%.exe: $(GLAMAC_SRC)
+$(BINDIR)/glamac.exe: $(GLAMAC_SRC) $(RESOURCE_OBJ)
$(CC) $^ $(CFLAGS) $(SDL2_CFLAGS) $(SDL2_LDFLAGS) -o $@
sdl2:
cp $(SDL2_DLL_SRC) $(SDL2_DLL_DEST)
cp $(SDL2_tff_DLL_SRC) $(SDL2_DLL_DEST)
+
clean:
rm -f $(BINDIR)/*
- rm structure.txt
+ rm -f structure.txt
rebuild: clean all
Back to https://optics-design.com