From ed02026f7e40de41e2d823c299bf99f2995aab13 Mon Sep 17 00:00:00 2001 From: sandyx86 Date: Fri, 12 Jul 2024 07:01:21 -0500 Subject: [PATCH] makefile --- makefile | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 makefile diff --git a/makefile b/makefile new file mode 100644 index 0000000..4f69f53 --- /dev/null +++ b/makefile @@ -0,0 +1,55 @@ +SHELL=/bin/sh + +APP_NAME=main + +CC=gcc + +MINGW=x86_64-w64-mingw32-gcc +MINGW_CFLAGS=-march=native -I raylib-w64/include -L raylib-w64/lib +MINGW_C_LIBS=-lraylib + +INCLUDE= -I include +CFLAGS= -march=native +C_LIBS= -L lib -lraylib -lyesmath +OBJC_FLAGS := $(shell gnustep-config --objc-flags) +OBJC_LIBS := $(shell gnustep-config --base-libs) + +#dirs +SRC=src +BUILD=build + +C_FILES := $(shell find $(SRC) -name '*.c') +H_FILES := $(shell find $(SRC) -name '*.h') +M_FILES := $(shell find $(SRC) -name '*.m') +O_FILES := $(patsubst $(SRC)/%.m, $(BUILD)/%.o, $(M_FILES)) +O_FILES += $(patsubst $(SRC)/%.c, $(BUILD)/%.o, $(C_FILES)) + +.PHONY: native clean setup +native: $(APP_NAME) + +$(APP_NAME): $(BUILD)/$(O_FILES) + $(CC) $(INCLUDE) $(CFLAGS) $(O_FILES) -o $(APP_NAME) $(OBJC_LIBS) $(C_LIBS) + +$(BUILD)/%.o: $(SRC)/%.m + $(CC) $(INCLUDE) $(OBJC_FLAGS) -c $< -o $@ + +$(BUILD)/%.o: $(SRC)/%.c + $(CC) $(INCLUDE) $(CFLAGS) -c $< -o $@ + + +debug: $(APP_NAME) + +$(APP_NAME): $(BUILD)/$(O_FILES) + $(CC) $(INCLUDE) $(CFLAGS) $(O_FILES) -o $(APP_NAME) $(OBJC_LIBS) $(C_LIBS) + +$(BUILD)/%.o: $(SRC)/%.m + $(CC) $(INCLUDE) -DDEBUG $(OBJC_FLAGS) -c $< -o $@ + +$(BUILD)/%.o: $(SRC)/%.c + $(CC) $(INCLUDE) -DDEBUG $(CFLAGS) -c $< -o $@ + +setup: + $(shell mkdir -p $(BUILD)) + +clean: + $(shell rm -rf $(APP_NAME) $(O_FILES)) \ No newline at end of file