65 lines
1.4 KiB
Makefile
65 lines
1.4 KiB
Makefile
CC = gcc
|
|
BIN_DIR = bin
|
|
BINARY = main
|
|
SDL_BINARY = sdl
|
|
OBJS = main.o ktkMap.o ktkStructure.o ktkProgram.o ktk_parse.o
|
|
OBJ_DIR = obj
|
|
VPATH = src
|
|
CFLAGS = -Wall -Isrc/ -g -c
|
|
LFLAGS = -Wall
|
|
|
|
SDL_INCLUDE = -I/usr/include
|
|
SDL_OBJS = sdl_main.o ktkMap.o ktkStructure.o ktkProgram.o ktk_parse.o
|
|
|
|
SYS := $(shell uname)
|
|
ifeq ($(OS),Windows_NT)
|
|
CFLAGS += $(SDL_INCLUDE)
|
|
SDL_LFLAGS += -lmingw32 -lSDLmain
|
|
SDL_LFLAGS += -lSDL
|
|
BINARY = main.exe
|
|
SDL_BINARY = sdl.exe
|
|
else ifeq ($(SYS),Darwin)
|
|
SDL_OBJS += SDLMain.o
|
|
SDL_LFLAGS += -framework SDL -framework Cocoa
|
|
SDL_CFLAGS += -I/Library/Frameworks/SDL.framework/Headers
|
|
else
|
|
SDL_LFLAGS += -lSDL
|
|
LFLAGS += -lm
|
|
endif
|
|
|
|
main:
|
|
$(MAKE) $(BIN_DIR)/$(BINARY)
|
|
|
|
all:
|
|
$(MAKE) $(BIN_DIR)/$(BINARY)
|
|
$(MAKE) $(BIN_DIR)/$(SDL_BINARY)
|
|
$(MAKE) tools
|
|
|
|
sdl:
|
|
$(MAKE) $(BIN_DIR)/$(SDL_BINARY)
|
|
|
|
$(BIN_DIR)/$(BINARY): $(patsubst %,$(OBJ_DIR)/%,$(OBJS))
|
|
mkdir -p $(BIN_DIR)
|
|
$(CC) $(LFLAGS) $^ -o $@
|
|
|
|
$(BIN_DIR)/$(SDL_BINARY): $(patsubst %,$(OBJ_DIR)/%,$(SDL_OBJS))
|
|
mkdir -p $(BIN_DIR)
|
|
$(CC) -o $@ $^ $(LFLAGS) $(SDL_LFLAGS)
|
|
|
|
tools: tools/tobmp
|
|
$(MAKE) -C tools
|
|
|
|
clean:
|
|
rm -f $(OBJ_DIR)/*.o && rm -f $(BIN_DIR)/$(BINARY) && rm -f $(BIN_DIR)/$(SDL_BINARY)
|
|
cd tools && make clean
|
|
|
|
main.o: main.c ktkMap.c ktkMap.h ktk_parse.h
|
|
$(CC) $(CFLAGS) main.c
|
|
|
|
$(OBJ_DIR)/%.o: %.c
|
|
mkdir -p $(OBJ_DIR)
|
|
$(CC) $(CFLAGS) $< -o $@
|
|
|
|
$(OBJ_DIR)/SDLMain.o: SDLMain.m
|
|
$(CC) $(CFLAGS) $(SDL_CFLAGS) $< -o $@
|