1
1
Fork 0
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

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