CC = gcc
#CC = diet -Os gcc
CFLAGS = -Os -Wall -Wextra
CPPFLAGS =
LDFLAGS = -s

cgidir = /var/www/cgi-bin

all: lesen.cgi lesen-http

lesen.cgi lesen: lesen.c config.h Methoden.o
	$(CC) $(CPPFLAGS) $(CFLAGS) lesen.c Methoden.o $(LDFLAGS) -o $@

lesen-http lesen-http.exe: lesen.c config.h Methoden.o Medientypen.o
	$(CC) $(CPPFLAGS) $(CFLAGS) -DHTTP lesen.c \
	  Methoden.o Medientypen.o $(LDFLAGS) -o $@

Methoden.o: Methoden.h Methoden.c
	$(CC) -c $(CPPFLAGS) $(CFLAGS) Methoden.c -o $@

Medientypen.o: Medientypen.h Medientypen.c config.h
	$(CC) -c $(CPPFLAGS) $(CFLAGS) Medientypen.c -o $@

install: lesen.cgi
	install -m 0755 lesen.cgi $(cgidir)/lesen

clean:
	rm -f *~
	rm -f *.o
	rm -f lesen.cgi
	rm -f lesen-http
	rm -f lesen-http.exe
	rm -f lesen antiqua uberlesen
	rm -f lesen.tar.gz lesen.tar.gz.sig

distclean: clean


reset:
	git checkout -- config.h

dist: clean
	mkdir lesen
	cp README.txt COPYING lesen.txt lesen.css lesen.c \
	   Makefile config.h config-de.h config-en.h \
	   Methoden.h Methoden.c Medientypen.c Medientypen.h \
	   lesen/
	tar czf lesen.tar.gz lesen/
	rm -rf lesen
	-gpg -b lesen.tar.gz


# private Konfigurationen des Autors

fraktur: antiqua

antiqua: lesen.c config-fraktur.h config-antiqua.h Methoden.c
	diet -Os $(CC) $(CPPFLAGS) $(CFLAGS) -include config-fraktur.h \
	  lesen.c Methoden.c -static $(LDFLAGS) -o lesen
	diet -Os $(CC) $(CPPFLAGS) $(CFLAGS) -include config-antiqua.h \
	  lesen.c Methoden.c -static $(LDFLAGS) -o antiqua

uberlesen: lesen.c Methoden.c
	diet -Os $(CC) $(CPPFLAGS) $(CFLAGS) \
	  lesen.c Methoden.c -static $(LDFLAGS) -o $@

arm:
	$(MAKE) CC=arm-linux-gnueabihf-gcc

arm-fraktur:
	$(MAKE) fraktur CC=arm-linux-gnueabihf-gcc
