CXX=gcc -fgnu-linker
#CXX = gcc -b gld -fgnu-linker
#CXXFLAGS = -g -DDEBUG
CXXFLAGS = -g -pipe
CXXLDFLAGS = -g

INCLUDE = -I. -I../winglib -I/usr/X11/include

LIBS = -L. -lenklX -L../winglib -lwing -lg++ -L/usr/X11/lib -lX11 -lfl -lm

OBJ_ENKLX = screen.o x_screen.o drawable.o color.o x_window.o basic_window.o font.o key.o pixmap.o cursor.o bitmap.o gc.o image.o x_thingy.o

#.cc.o:;$(CXX) $(CXXFLAGS) $(INCLUDE) $*.cc -c -o $@; ar rs libenklX.a $*.o
.cc.o:;$(CXX) $(CXXFLAGS) $(INCLUDE) $*.cc -c -o $@

all: libenklX.a enklX_server

enklX_server.o: y.tab.o lex.yy.o

y.tab.cc: enklX_server.y
	bison -d -y -v enklX_server.y; mv y.tab.c y.tab.cc

lex.yy.cc: enklX_server.lex
	flex enklX_server.lex; mv lex.yy.c lex.yy.cc

enklX_server: ../winglib/libwing.a libenklX.a enklX_server.o y.tab.o lex.yy.o
	$(CXX) -o enklX_server $(CXXLDFLAGS) enklX_server.o  y.tab.o lex.yy.o $(LIBS)

libenklX.a: $(OBJ_ENKLX)
	ar rs libenklX.a $(OBJ_ENKLX); ranlib libenklX.a

clean:
	rm *.o libenklX.a y.tab.* lex.yy.*

dither: dither.o
	$(CXX) $(CXXLDFLAGS) -o dither dither.o $(LIBS)

