FLEXML=flexml
FLEX=flex
CC=gcc
CFLAGS=-Wall -g
CINCFLAGS=-I../../src -I../..
LDFLAGS=-ll -L../../src/.libs/ -static -lrcps -lpthread
TARGET?=xrcps

SOURCES=$(shell ls *.c)
OBJECTS=$(subst .c,.o,$(SOURCES))

all: $(TARGET)

$(TARGET): $(OBJECTS) rcp.o parser.o
	$(CC) -o $@ $^ $(LDFLAGS)

parser.c: rcp.l
rcp.l: rcp.dtd parser.xml
	$(FLEXML) -a parser.xml $<

rcp.dtd: ../rcp.dtd
	cp ../rcp.dtd .

rcp.c: rcp.l
	$(FLEX) -o $@ $< 

%.o: %.c
	$(CC) $(CFLAGS) $(CINCFLAGS) -c $<

.PHONY: clean
clean:
	rm -f *.o
	rm -f rcp.l rcp.h parser.c rcp.c rcp.dtd
	rm -f $(TARGET)

parser.o: parser.c
