You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.2 KiB
Makefile
55 lines
1.2 KiB
Makefile
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))
|