aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2025-06-11 07:40:15 +1200
committerArslaan Pathan <[email protected]>2025-06-11 07:40:15 +1200
commit8d6464fe655a68d278a9806392ec1488757adf2e (patch)
treee585d55421983d1e15a9459ad64adca7621172fa /Makefile
downloadshowdownofthesticks-8d6464fe655a68d278a9806392ec1488757adf2e.tar.xz
showdownofthesticks-8d6464fe655a68d278a9806392ec1488757adf2e.zip
Initial commit
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile49
1 files changed, 49 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..1642d3f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,49 @@
+CXX = g++
+CC = gcc
+
+LUA_SRC = $(wildcard src/lua/*.c)
+LUA_OBJ = $(patsubst src/lua/%.c, build/lua/%.o, $(LUA_SRC))
+
+SRC_CPP = src/main.cpp
+OBJ_CPP = build/main.o
+
+APP_NAME = ShowdownOfTheSticks
+BUILD_DIR = build
+UNAME_S := $(shell uname -s)
+
+ifeq ($(UNAME_S),Darwin)
+ TARGET_DIR = $(BUILD_DIR)/$(APP_NAME).app/Contents/MacOS
+ TARGET = $(TARGET_DIR)/$(APP_NAME)
+ INFO_PLIST = $(BUILD_DIR)/$(APP_NAME).app/Contents/Info.plist
+ MAKE_APP = true
+else
+ TARGET_DIR = $(BUILD_DIR)
+ TARGET = $(TARGET_DIR)/$(APP_NAME)
+ MAKE_APP = false
+endif
+
+CXXFLAGS = -I/opt/homebrew/include -D_THREAD_SAFE -std=c++17
+CFLAGS = -I/opt/homebrew/include -D_THREAD_SAFE
+
+LDFLAGS = -L/opt/homebrew/lib -lSDL2
+
+all: $(TARGET)
+
+$(TARGET): $(OBJ_CPP) $(LUA_OBJ)
+ mkdir -p $(TARGET_DIR)
+ $(CXX) $(OBJ_CPP) $(LUA_OBJ) -o $(TARGET) $(LDFLAGS)
+ifeq ($(MAKE_APP),true)
+ mkdir -p $(dir $(INFO_PLIST))
+ cp Info.plist $(INFO_PLIST)
+endif
+
+build/main.o: src/main.cpp
+ mkdir -p build
+ $(CXX) $(CXXFLAGS) -c src/main.cpp -o build/main.o
+
+build/lua/%.o: src/lua/%.c
+ mkdir -p build/lua
+ $(CC) $(CFLAGS) -c $< -o $@
+
+clean:
+ rm -rf $(BUILD_DIR)