1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- CPPFLAGS=-Wall -Wno-misleading-indentation -Werror --std=c++1z
- LDFLAGS=
- INCLUDES=-Iinclude -Ipge/include
- ifeq ($(OS),Windows_NT)
- LIBRARIES=-luser32 -lgdi32 -lopengl32 -lgdiplus -lwinmm
- EXECUTABLE=debuggers.exe
- PACKER=packer/packer.exe
- ifneq ($(DEBUG),1)
- LDFLAGS+=--machine=windows
- endif
- CPP=i686-w64-mingw32-g++
- CC=i686-w64-mingw32-gcc
- MAKE=mingw32-make
- else
- LIBRARIES=-lX11 -lGL -lpthread -lpng -lasound
- EXECUTABLE=debuggers
- PACKER=packer/packer
- CC=gcc
- CPP=g++
- endif
- ifeq ($(DEBUG),1)
- CPPFLAGS+=-g -O0 -D_DEBUG
- else
- CPPFLAGS+=-flto -O3
- endif
- SOURCES=$(wildcard src/*.cpp) $(wildcard src/**/*.cpp) $(wildcard pge/src/*.cpp)
- IMAGES=$(wildcard res/*.png)
-
- OBJECTS=$(SOURCES:.cpp=.o)
- SPRITES=$(IMAGES:.png=.pgs)
- RESOURCES=$(SPRITES) $(wildcard res/*.wav) src/programmer.cpp
-
- PACK=debuggers.pgp
-
- all: $(SOURCES) $(PACK) $(EXECUTABLE)
-
- clean:
- $(RM) $(OBJECTS) $(SPRITES) $(PACK) $(EXECUTABLE)
-
- $(EXECUTABLE): $(OBJECTS)
- $(CPP) $(LDFLAGS) $(OBJECTS) -o $@ $(LIBRARIES)
- ifneq ($(DEBUG),1)
- strip $@
- endif
-
- .cpp.o:
- $(CPP) $(INCLUDES) -c $(CPPFLAGS) $< -o $@
-
- %.pgs: %.png $(PACKER)
- $(PACKER) --convert $< $@
-
- $(PACK): $(RESOURCES) $(PACKER)
- $(PACKER) --add $(PACK) $(RESOURCES)
-
- run: $(PACK) $(EXECUTABLE)
- ./$(EXECUTABLE)
-
- $(PACKER):
- $(MAKE) -C packer
|