proclib/Makefile

48 lines
1.1 KiB
Makefile

CC = gcc
BINARY = main
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
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
$(BINARY): $(patsubst %,$(OBJ_DIR)/%,$(OBJS))
$(CC) $(LFLAGS) $^ -o $@
sdl: $(patsubst %,$(OBJ_DIR)/%,$(SDL_OBJS))
$(CC) -o $@ $^ $(LFLAGS) $(SDL_LFLAGS)
tools: tools/tobmp
$(MAKE) -C tools
clean:
rm -f $(OBJ_DIR)/*.o && rm -f $(BINARY) && rm -f sdl
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
$(CC) $(CFLAGS) $< -o $@
$(OBJ_DIR)/SDLMain.o: SDLMain.m
$(CC) $(CFLAGS) $(SDL_CFLAGS) $< -o $@