# 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-result -Wno-parentheses -Wno-unused-variable -Wno-write-strings
#DEBUG= -ggdb  # fuer den Gnu-Debugger
OPT  = -O3  #-O3 fuer moeglichst schnell?, -Os fuer moeglist kurz
CFLAGS= -std=c++0x -pthread -I$h $(WARN) $(OPT) $(DEBUG) 
CXXFLAGS=$(CFLAGS)
# Im aktuellen Linux (Januar 2012) wird -L/usr/X11R6/lib nicht mehr benoetigt,
# unter andern Systemen (z.B. MacOSX) wird es aber noch gebraucht.
LDFLAGS = -L/usr/X11R6/lib $(DEBUG)
MYLIBS  = $h/xtekplot1.o 
LDLIBS  = -lm -lX11

all: rubik

#beispiel1: beispiel1.c
#	$(CC) $(CFLAGS) $(LDFLAGS) beispiel1.c $(LDLIBS) -o beispiel1
# Diese Regel ist nicht mehr noetig, macht make schon von sich aus so.

# Variante1 fuer Programme mit xtekplot1:
rubik: rubik.cc $(MYLIBS)
#	$(CXX) $(CSSFLAGS) $(LDFLAGS) start_grafik.cc $(MYLIBS) $(LDLIBS) -o start_grafik
# Auch nicht mehr noetig, macht make ebenfalls schon von sich aus so.

# Erstellen des Assembler-Ausdrucks zum optimieren:
rubik.s: rubik.cc
	c++ $(CXXFLAGS) -S rubik.cc -o rubik.s

# Diese kompliziertere Variante wird somit auch nicht mehr gebraucht:
# Variante2 fuer Programme mit xtekplot1: (funktioniert mit Kubuntu11.10)
#start_grafik: start_grafik.o $(MYLIBS)
#	$(CXX) start_grafik.o $(MYLIBS) $(LDLIBS) -o start_grafik
#start_grafik.o: start_grafik.cc
#	$(CXX) $(CFLAGS) -c start_grafik.cc

install: rubik
	cp rubik ~/bin/

clean:
	rm -f *.o *~ rubik.s
clean-all:
	rm -f *.o *~ rubik.s rubik
