# Die folgenden 2 Zeilen sind unter Linux schon vordefiniert,
# andere Systeme brauchen diese Definitionen eventuell?
CC=gcc
CXX=g++

#WARN = -Wall #so fuer neue Programme
# nach -Wall koennen noch Ausnahmen geschaltet werden:
WARN = -Wall -Wno-unused-variable -Wno-unused-result
#WARN = -Wall -Wno-unused-result -Wno-parentheses -Wno-unused-variable -Wno-write-strings

#DEBUG= -ggdb -D _DEBUG # ggdb fuer den Gnu-Debugger, _DEBUG fuer im Programm
OPT  = -O3  #-O3 fuer moeglichst schnell, -Os fuer moeglist kurz
#CFLAGS  = -pthread -std=c++11 -I$h $(WARN) $(OPT) $(DEBUG) 
CFLAGS  =  -std=c++11 $(WARN) $(OPT) $(DEBUG) 
CXXFLAGS= $(CFLAGS)

# fuer OpenGL:
LDFLAGS = $(DEBUG)
LDLIBS  = -lGL -lSDL2 -lGLEW -lm

all: main

main: *.cpp fonts/myfonts.cc

install:
	cp main $(HOME)/bin/spiel1

paket:
	tar zcvf ../Spiel1.tar.gz ../Spiel1

wincopy:
	cp -p *.cpp ../win/Spiel1/Spiel1/
	cp -p *.h ../win/Spiel1/Spiel1/
	cp -p *.txt ../win/Spiel1/Spiel1/
	cp -p models/*.* ../win/Spiel1/Spiel1/models/
	cp -p texturen/*.* ../win/Spiel1/Spiel1/texturen/
	rm -f ../win/Spiel1/Spiel1/models/*~
	cp -p shaders/*.vs ../win/Spiel1/Spiel1/shaders/
	cp -p shaders/*.fs ../win/Spiel1/Spiel1/shaders/
	cp -p fonts/*.* ../win/Spiel1/Spiel1/fonts/
	rm -f ../win/Spiel1/Spiel1/fonts/*~
	touch ../win/Spiel1
winpaket:
	rm -f ../win/Spiel1.7z
	7z a ../win/Spiel1.7z ../win/Spiel1
winexepaket:
	cp -p models/*.txt ../win/Spiel1exe/models/
	cp -p models/*.bmf ../win/Spiel1exe/models/
	cp -p models/*.calc ../win/Spiel1exe/models/
	cp -p shaders/*.vs ../win/Spiel1exe/shaders/
	cp -p shaders/*.fs ../win/Spiel1exe/shaders/
	cp -p *.txt ../win/Spiel1exe/
	rm -f ../win/Spiel1exe2.7z
	7z a ../win/Spiel1exe2.7z ../win/Spiel1exe

clean:
	rm -f *.o *~
clean_all:
	rm -f *.o *~
	rm -f main
