all: bin doc

CURL_CFLAGS:=$(shell curl-config --cflags)
CURL_LIBS:=$(shell curl-config --libs)
QT_CPPFLAGS:=$(shell pkg-config --cflags QtCore)
QT_LIBS:=$(shell pkg-config --libs QtCore)

SRC:=

W:=test-it
$(W)SRC:=qt-part.h qt-part.cc moc_qt-part.cc test-it.c
$(W)CCOBJ:=qt-part.o
$(W)COBJ:=test-it.o
$(W)BIN:=test-it
$(W)PDF:=test-it.pdf
$(W)DOCTEMP:=test-it.idx test-it.log test-it.scn test-it.tex test-it.toc
SRC:=$(SRC) $($(W)SRC)

$($(W)SRC): $W.w
	ctangle $<
	moc qt-part.cc > moc_qt-part.cc
$($(W)CCOBJ): %.o: %.cc
	g++ $(QT_CPPFLAGS) $< -c -g -Wall -o $@
$($(W)COBJ): %.o: %.c
	gcc $(CURL_CFLAGS) $< -c -g -Wall -o $@

$($(W)BIN): $($(W)CCOBJ) $($(W)COBJ)
	g++ $(CURL_LIBS) $(QT_LIBS) $^ -o $@

$($(W)PDF): %.pdf: %.w
	cweave $<
	pdftex $*.tex


src: $($(W)SRC)
obj: $($(W)CCOBJ) $($(W)COBJ)
bin: $($(W)BIN)
doc: $($(W)PDF)

clean: F:=$($(W)SRC) $($(W)CCOBJ) $($(W)COBJ) $($(W)BIN) $($(W)PDF)
clean: F:= $F $($(W)DOCTEMP)
clean:
	rm -f $(F)

lazy-clean: F:= $($(W)DOCTEMP) $($(W)BIN) $($(W)CCOBJ) $($(W)COBJ) 
lazy-clean:
	rm -f $(F)
