diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 49 |
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) |
