APIS=           gst-api.xml

RUNTIME=mono
MCS=mcs
ASSEMBLY=gst-sharp.dll

all: $(ASSEMBLY)

generated-stamp: $(APIS) ../generator/gapi_codegen.exe
	$(RUNTIME) ../parser/gapi-fixup.exe --api=gst-api.xml  --metadata=Gst.metadata && \
	$(RUNTIME) ../generator/gapi_codegen.exe --generate $(APIS) 	\
	--outdir=generated --customdir=. --assembly-name=gst-sharp 	\
	&& touch generated-stamp

$(ASSEMBLY): *.cs generated-stamp
	$(MCS) --unsafe --target library \
	-r glib-sharp.dll -o $(ASSEMBLY) --recurse '*.cs'

clean:
	rm -f generated-stamp
	rm -f $(ASSEMBLY)
	rm -rf generated

prefix=/usr/local
DESTDIR=
apidir=$(DESTDIR)$(prefix)/share/gapi
libdir=$(DESTDIR)$(prefix)/lib

install: all
	../mkinstalldirs $(libdir) &&		\
	../mkinstalldirs $(apidir) &&		\
	for i in $(APIS); do                    \
		cp $$i $(apidir) || true;       \
	done && 				\
	cp $(ASSEMBLY) $(libdir)

