summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-04-28 07:45:45 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-04-28 07:45:45 +0200
commit0ed91795a2db720e688fd2daefd22f7e9c754c2f (patch)
tree1856de605b3888132ad6917cbeb3ecf677bbda6d /Makefile
downloadstalag-0ed91795a2db720e688fd2daefd22f7e9c754c2f.tar.gz
Engage!
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile46
1 files changed, 46 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..150f3b5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,46 @@
+OS := $(shell uname)
+ifeq ($(OS), Linux)
+SYSTEM = linux_amd64
+else ifeq ($(OS), Darwin)
+SYSTEM = macos
+else ifeq ($(OS), WindowsNT)
+SYSTEM = windows
+else
+SYSTEM = unknown
+endif
+
+CC := clang
+RAYLIB_VER := raylib-6.0_$(SYSTEM)
+CFLAGS := -std=c99 -v -g -I./vendor/$(RAYLIB_VER)/include
+LDFLAGS := -L./vendor/$(RAYLIB_VER)/lib -Wl,-Bstatic -lraylib -Wl,-Bdynamic -lm -lpthread -ldl -lrt -lX11
+GAME := bin/stalag
+HEXDUMP := bin/hexdump
+SOURCES := main.c
+
+# Check if macOS and then append proper CFLAGS.
+ifeq ($(SYSTEM), macos)
+CFLAGS += -framework CoreVideo -framework IOKit -framework Cocoa -framework GLUT -framework OpenGL
+endif
+
+all: info mkdirs $(HEXDUMP) $(GAME)
+
+.PHONY: info mkdirs clean
+
+info: # Print out information about the build
+ $(info CC : $(CC))
+ $(info SYSTEM : $(SYSTEM))
+ $(info RAYLIB_VER : $(RAYLIB_VER))
+ $(info CFLAGS : $(CFLAGS))
+ $(info LDFLAGS : $(LDFLAGS))
+
+$(GAME): $(SOURCES)
+ $(CC) $(CFLAGS) $(SOURCES) -o $(GAME) $(LDFLAGS)
+
+$(HEXDUMP): tools/hexdump.c
+ $(CC) -std=c99 -o $(HEXDUMP) tools/hexdump.c
+
+mkdirs:
+ mkdir -p bin
+
+clean:
+ -rm $(GAME) $(HEXDUMP) \ No newline at end of file