You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1.8 KiB
82 lines
1.8 KiB
EXE = main |
|
|
|
sdl2ibdir = sdllib |
|
|
|
ifndef target |
|
target=linux |
|
endif |
|
|
|
ifeq ($(target),windows) |
|
CC=x86_64-w64-mingw32-gcc |
|
SDL_INCLUDE = -Dmain=SDL_main -Lsdllib -lSDL2main -lSDL2main -lSDL2 -lmingw32 -lSDL2main -lSDL2 -mwindows -Wl,-static -lpthread -lm |
|
CCFLAGS=$(SDL_INCLUDE) -O3 |
|
else |
|
CC=gcc |
|
SDL_INCLUDE= -lSDL2 -lm |
|
CCFLAGS=$(SDL_INCLUDE) -O3 |
|
endif |
|
|
|
ifdef debug |
|
CC += -g -Wall |
|
endif |
|
|
|
.PHONY: default |
|
.PHONY: all |
|
.PHONY: run |
|
.PHONY: dist |
|
|
|
default: all |
|
|
|
dist: all |
|
mkdir -p dist |
|
mkdir -p dist/windows |
|
mkdir -p dist/linux |
|
cp main dist/linux |
|
cp main.exe dist/windows |
|
cp SDL2.dll dist/windows |
|
cd dist && zip -r windows.zip windows |
|
cd dist && tar -czvf linux.tar.gz linux |
|
|
|
run: all |
|
./main |
|
|
|
all: $(EXE) |
|
|
|
$(EXE): main.o vect.o logger.o game.o garbo.o draw.o controlscheme.o environment.o c-colours/colours.o datastructures/datatypes.o |
|
$(CC) -o $(EXE) main.o vect.o game.o logger.o draw.o garbo.o environment.o controlscheme.o c-colours/colours.o datastructures/datatypes.o $(CCFLAGS) |
|
|
|
c-colours/colours.o: c-colours/colours.c c-colours/colours.h |
|
$(CC) -c c-colours/colours.c -o c-colours/colours.o $(CCFLAGS) |
|
|
|
datastructures/datatypes.o: datastructures/datatypes.c datastructures/datatypes.h |
|
$(CC) -c datastructures/datatypes.c -o datastructures/datatypes.o $(CCFLAGS) |
|
|
|
main.o: main.c logger.h game.h garbo.h draw.h |
|
$(CC) -c main.c $(CCFLAGS) |
|
|
|
logger.o: logger.c logger.h |
|
$(CC) -c logger.c $(CCFLAGS) |
|
|
|
game.o: game.c game.h draw.h |
|
$(CC) -c game.c $(CCFLAGS) |
|
|
|
garbo.o: garbo.c garbo.h |
|
$(CC) -c garbo.c $(CCFLAGS) |
|
|
|
draw.o: draw.c draw.h |
|
$(CC) -c draw.c $(CCFLAGS) |
|
|
|
vect.o: vect.c vect.h |
|
$(CC) -c vect.c $(CCFLAGS) |
|
|
|
controlscheme.o: controlscheme.c controlscheme.h |
|
$(CC) -c controlscheme.c $(CCFLAGS) |
|
|
|
environment.o: environment.c environment.h |
|
$(CC) -c environment.c $(CCFLAGS) |
|
|
|
clean: |
|
rm c-colours/*.o |
|
rm datastructures/*.o |
|
rm *.o |
|
rm -rf dist
|
|
|