diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8788ff7 --- /dev/null +++ b/Makefile @@ -0,0 +1,56 @@ +CCXX := g++ +CC := gcc +LD := gcc +SDL2-CFG := sdl2-config +SRC := $(wildcard *.c) $(wildcard *.cpp) +OBJ := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SRC))) +WINOBJ := $(patsubst %.c,%.win.o,$(patsubst %.cpp,%.win.o,$(SRC))) +DEP := $(patsubst %.c,%.d,$(patsubst %.cpp,%.d,$(SRC))) +NAME := 004 +ifeq ($(TARGET),windows) + SDL2-CFG := /usr/x86_64-w64-mingw32/bin/sdl2-config + CCXX := x86_64-w64-mingw32-$(CCXX) + CC := x86_64-w64-mingw32-$(CC) + LD := x86_64-w64-mingw32-$(LD) + NAME := $(NAME).exe + OBJ := $(WINOBJ) +endif +LZR_FLAGS := -DLZR_DISABLE_IMAGE -DLZR_DISABLE_GFX -DLZR_DISABLE_MIXER \ + -DLZR_DISABLE_DEVMODE +CFLAGS := -Wall -Wextra -std=c99 -pedantic -MMD \ + -D_POSIX_C_SOURCE=200809L $(LZR_FLAGS) $(shell $(SDL2-CFG) --cflags) +CXXFLAGS := -Wall -Wextra -std=c++03 -pedantic -MMD \ + -nostdlib -fno-rtti -fno-exceptions \ + $(LZR_FLAGS) $(shell $(SDL2-CFG) --cflags) +LDFLAGS := -lm $(shell $(SDL2-CFG) --libs) -lSDL2_mixer + +all: $(NAME) + +$(NAME): $(OBJ) + $(LD) -o $(NAME) $(OBJ) $(LDFLAGS) + +%.o: %.cpp + $(CCXX) $(CXXFLAGS) -c -o $@ $< + +%.win.o: %.cpp + $(CCXX) $(CXXFLAGS) -c -o $@ $< + +%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< + +%.win.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< + +clean: + rm -rf $(NAME) $(OBJ) $(WINOBJ) $(DEP) + +run: $(NAME) + ./$(NAME) + +re: + make clean + make + +.PHONY: all clean run re + +-include $(DEP) |