# Makefile for include directory

MID:=$(wildcard .src/*.mid)
M4DEF:=$(wildcard .src/*.m4)
IDLFILES:=$(patsubst .src/%.mid,%.idl,$(MID))
INTERFACES:=$(IDLFILES:.idl=.h)
CPPFILES:=$(IDLFILES:.idl=.cpp)

include ../makeopts

ifdef M4
vpath %.mid .src

%.h: %.mid
	$(M4) -DM4FILE=.src/mid2h.m4 >$@ $<

%.cpp: %.mid
	$(M4) -DM4FILE=.src/mid2cpp.m4 >$@ $<

%.idl: %.mid
	$(M4) -DM4FILE=.src/mid2idl.m4 >$@ $<
else
vpath %.m4 .src

%.cpp: %.cpp.m4
	cp $< $@

%.h: %.h.m4
	cp $< $@

%.idl: %.idl.m4
	cp $< $@
endif

all:	interface
	@true

interface: $(IDLFILES) $(INTERFACES) $(CPPFILES)

install:
	@true

$(IDLFILES) $(INTERFACES) $(CPPFILES): $(MID) $(M4DEF)

msgcat:
	@touch $(BUILDDIR)/messages.po
	cd .src; exec $(XGETTEXT) -C -k_ -j -o $(BUILDDIR)/messages.po *.h gui/*.h adb/*.h

clean:
	$(RM) $(IDLFILES) $(INTERFACES) $(CPPFILES)

doc:
	if [ ! -d ../doc/classes ] ; then mkdir ../doc/classes ; fi
# scandoc isn't clever enough for Vadim's coding
	-$(DOCHTML) *.h

.PHONY: clean doc all install msgcat interface
