Birb2D/Makefile

84 lines
2.2 KiB
Makefile
Raw Normal View History

CC=g++
SRCDIR=./src
outputDir=./build
CFLAGS=-fPIC -O2 -g -std=c++11
WarningFlags=-Wpedantic -pedantic -Wall -Wextra
2021-12-31 04:52:13 +01:00
SDL_FLAGS=-lSDL2 -lSDL2main -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lSDL2_gfx
INCLUDES=-I./include
2022-01-17 03:22:43 +01:00
LIBFILE=libbirb2d.so
2022-01-18 15:27:53 +01:00
all: test engine_lib
docs:
doxygen ./doxygen_config
test: entity.o logger.o math.o renderwindow.o timer.o timestep.o utils.o values.o tests.o
mkdir -p build
$(CC) $^ $(CFLAGS) $(SDL_FLAGS) $(WarningFlags) -o $(outputDir)/test
run_tests: test
./build/test
engine_lib: audio.o entity.o logger.o math.o renderwindow.o physics.o timer.o timestep.o ui.o utils.o values.o
2022-01-17 03:22:43 +01:00
mkdir -p build
g++ -shared -g $(SDL_FLAGS) -o $(outputDir)/$(LIBFILE) $^
2022-01-17 03:22:43 +01:00
static_engine_lib: audio.o entity.o logger.o math.o renderwindow.o physics.o timer.o timestep.o ui.o utils.o values.o
2022-01-17 02:07:12 +01:00
mkdir -p build
g++ -static $(SDL_FLAGS) -o $(outputDir)/$(LIBFILE) $^
2022-01-17 03:22:43 +01:00
install: engine_lib
2022-01-18 15:27:53 +01:00
cp $(outputDir)/$(LIBFILE) /usr/lib/
mkdir -p /usr/local/include/birb2d
cp ./include/* /usr/local/include/birb2d/
ldconfig
2022-01-17 03:22:43 +01:00
uninstall:
2022-01-18 15:27:53 +01:00
rm -f /usr/lib/$(LIBFILE)
2022-01-17 03:22:43 +01:00
rm -rf /usr/local/include/birb2d
ldconfig
2021-12-31 21:44:19 +01:00
audio.o: $(SRCDIR)/audio.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $^ -o audio.o
2021-12-31 21:44:19 +01:00
2021-12-31 04:52:13 +01:00
entity.o: $(SRCDIR)/entity.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $^ -o entity.o
logger.o: $(SRCDIR)/logger.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $^ -o logger.o
2021-12-31 04:52:13 +01:00
tests.o: $(SRCDIR)/tests.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $(SDL_FLAGS) $(WarningFlags) $^ -o tests.o
2021-12-31 04:52:13 +01:00
math.o: $(SRCDIR)/math.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $(SDL_FLAGS) $(WarningFlags) $^ -o math.o
2021-12-31 04:52:13 +01:00
renderwindow.o: $(SRCDIR)/renderwindow.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $(WarningFlags) $^ -o renderwindow.o
2021-12-31 04:52:13 +01:00
physics.o: $(SRCDIR)/physics.cpp
$(CC) -c $(CFLAGS) $(INCLUDES) $(WarningFlags) $^ -o physics.o
timer.o: $(SRCDIR)/timer.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $(WarningFlags) $^ -o timer.o
2021-12-31 04:52:13 +01:00
timestep.o: $(SRCDIR)/timestep.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $(WarningFlags) $^ -o timestep.o
2021-12-31 04:52:13 +01:00
ui.o: $(SRCDIR)/ui.cpp
$(CC) -c $(CFLAGS) $(INCLUDES) $(WarningFlags) $^ -o ui.o
2021-12-31 04:52:13 +01:00
utils.o: $(SRCDIR)/utils.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $(WarningFlags) $^ -o utils.o
values.o: $(SRCDIR)/values.cpp
2022-01-17 03:22:43 +01:00
$(CC) -c $(CFLAGS) $(INCLUDES) $(WarningFlags) $^ -o values.o
.PHONY: clean
clean:
rm -f *.o log.txt
rm -rf $(outputDir)
rm -rf docs