ifeq ($(shell clang 2>/dev/null; echo $$?),1) CC = clang else CC = gcc endif VPATH = engine OBJ_DIR = $(VPATH)/obj SDL_INCLUDE = -I/usr/include DEBUG = -g CCFLAGS = -Wall -c $(DEBUG) $(SDL_INCLUDE) ifeq ($(OS),Windows_NT) BIN = Newsboy.exe LDFLAGS = -lm -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lOpenGL32 -lws2_32 else BIN = Newsboy LDFLAGS = -lm `sdl2-config --libs` -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lGL endif OBJ = main.o check.o Text.o PTime.o state.o sprite.o AnimData.o EntityData.o Animation.o Player.o Particle.o VoidMan.o MetaBit.o Entity.o Primitives.o Vector.o Phys.o Message.o Ui.o Music.o report.o Resource.o IdIndex.o Index.o State_Intro.o State_Menu.o State_Options.o State_Animator.o State_Editor.o State_EntEdit.o State_Editor_MapSelect.o State_Editor_Thing.o State_Editor_diag_pl.o State_Editor_diag_decor.o State_Editor_diag_entity.o State_Editor_diag_trigger.o State_Editor_diag_event.o State_Travel.o State_Game.o State_Game_Menu.o LiveMap.o Map.o render.o opengl.o FrameSheet.o fifo.o string.o all: $(BIN) $(BIN): $(patsubst %,$(OBJ_DIR)/%,$(OBJ)) $(CC) $^ $(LDFLAGS) -o $@ $(OBJ_DIR)/%.o: %.c $(CC) $(CCFLAGS) $< -o $@ clean: rm $(OBJ_DIR)/*.o && rm $(BIN)