
CC   = cc
RM   = rm
MV   = mv
AR   = ar
DESTNAME = /usr/local/bin/xbw
LIBDESTNAME = /usr/lib/libxbw.a
FLAGS = -DXbW_SYSDEF_X11_VERSION -Wall -Wpointer-arith -fwritable-strings -pipe 

OBJS  = x0.o x1.o x2.o x3.o x4.o x5.o lex.yy.o xbwparser.tab.o extensions.o xbcom.o xgnu.o 
DEBUGFLAGS = -ggdb
#DEBUGFLAGS = -O6

all: $(OBJS) xbw
main.o: main.c xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) main.c -c  
x0.o: x0.c xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) x0.c -c  
x1.o: x1.c xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) x1.c -c  
x2.o: x2.c xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) x2.c -c  
x3.o: x3.c xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) x3.c -c  
x4.o: x4.c xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) x4.c -c  
x5.o: x5.c xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) x5.c -c  
xbwparser.tab.o: xbwparser.y
	bison -v xbwparser.y
#	cc -c xbwparser.tab.c -DYYDEBUG=1 $(FLAGS) $(DEBUGFLAGS)
	cc -c xbwparser.tab.c             $(FLAGS) $(DEBUGFLAGS)
lex.yy.o: xbwscanner.yy	
#	flex -fpd xbwscanner.yy
	flex -fp  xbwscanner.yy
	cc -c lex.yy.c  $(FLAGS) $(DEBUGFLAGS) 
xbcom.o: xbcom.c  xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) xbcom.c -c  
xgnu.o: xgnu.c  xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) xgnu.c -c 
extensions.o:		extensions.c  xbw.h
	$(CC) $(FLAGS) $(DEBUGFLAGS) extensions.c -c

xbw:	$(OBJS) main.o  
	$(AR) rcs libxbw.a $(OBJS) 
	$(MV) libxbw.a $(LIBDESTNAME)
	$(CC) $(FLAGS) -o xbw main.o -shared -lxbw -lX11 -lXmu -lfl -lm
	$(MV) xbw $(DESTNAME)
#	$(RM) -f extensions.o
	cd makemfx; make

clean: 
	$(RM) -f *.o
	$(RM) -f *.bak
	$(RM) -f core

