INCDIR = $(QTDIR)/include
CFLAGS =  -O2 -fno-strength-reduce -Wall -W -D_REENTRANT
LIBCFLAGS = -fPIC
YACCCFLAGS = -Wno-unused -Wno-parentheses
LFLAGS = -L$(QTDIR)/lib -lqt -lpthread
CC = gcc
MOC = moc
SHELL = /bin/sh

####### Files

HEADERS = bench.hh benchbarfield.hh benchlistbox.hh benchwidget.hh 
SOURCES = bench.cc benchbarfield.cc benchlistbox.cc benchwidget.cc xhdbench.cc
OBJECTS = bench.o benchbarfield.o benchlistbox.o benchwidget.o xhdbench.o
SRCMETA = mbenchlistbox.cc mbenchwidget.cc
OBJMETA = mbenchlistbox.o mbenchwidget.o
TARGET  = xhdbench
STARGET = xhdbench-static

####### Implicit rules

.SUFFIXES: .cc

.cc.o:
	$(CC) -c $(CFLAGS) -I$(INCDIR) $<

####### Build rules

all: $(TARGET)

$(TARGET): $(OBJECTS) $(OBJMETA)
	$(CC) $(OBJECTS) $(OBJMETA) -o $(TARGET) $(LFLAGS)

static: $(OBJECTS) $(OBJMETA)
	$(CC) $(OBJECTS) $(OBJMETA) -o $(STARGET) $(LFLAGS) --static -lX11

depend:
	@makedepend -I$(INCDIR) $(SOURCES) 2> /dev/null

showfiles:
	@echo $(HEADERS) $(SOURCES) Makefile

clean:
	rm -f *.o *.bak *~ *% #*
	rm -f $(SRCMETA) $(TARGET) $(STARGET)

####### Meta classes

mbenchwidget.cc: benchwidget.hh
	$(MOC) -o $@ benchwidget.hh
mbenchlistbox.cc: benchlistbox.hh
	$(MOC) -o $@ benchlistbox.hh
