DEFS       = $(EXTRADEFS)
DLLFLAGS   = @DLLFLAGS@
TOPSRCDIR  = @top_srcdir@
TOPOBJDIR  = ../..
SRCDIR     = @srcdir@
VPATH      = @srcdir@
MODULE     = none
PROGRAMS   = aviinfo.exe aviplay.exe icinfo.exe
ALL_LIBS   = $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(LIBS)

C_SRCS = \
	aviinfo.c \
	aviplay.c \
	icinfo.c

@MAKE_RULES@

all: $(PROGRAMS:%=%$(DLLEXT)) $(PROGRAMS:.exe=$(EXEEXT))

aviinfo.exe.spec.c: aviinfo.o $(WINEBUILD)
	$(WINEBUILD) $(DEFS) $(DLLFLAGS) -o $@ --exe aviinfo.exe --exe-mode gui aviinfo.o -L$(DLLDIR) -lavifil32 -lkernel32

aviplay.exe.spec.c: aviplay.o $(WINEBUILD)
	$(WINEBUILD) $(DEFS) $(DLLFLAGS) -o $@ --exe aviplay.exe --exe-mode gui aviplay.o -L$(DLLDIR) -lavifil32 -lddraw -lkernel32

icinfo.exe.spec.c: icinfo.o $(WINEBUILD)
	$(WINEBUILD) $(DEFS) $(DLLFLAGS) -o $@ --exe icinfo.exe --exe-mode gui icinfo.o -L$(DLLDIR) -lmsvfw32 -lkernel32

aviinfo.exe.so: aviinfo.o aviinfo.exe.spec.o
	$(LDDLL) -o $@ aviinfo.o aviinfo.exe.spec.o $(ALL_LIBS) -lc

aviplay.exe.so: aviplay.o aviplay.exe.spec.o
	$(LDDLL) -o $@ aviplay.o aviplay.exe.spec.o $(ALL_LIBS) -lc

icinfo.exe.so: icinfo.o icinfo.exe.spec.o
	$(LDDLL) -o $@ icinfo.o icinfo.exe.spec.o $(ALL_LIBS) -lc

aviinfo.exe: aviinfo.o
	$(CC) -o $@ aviinfo.o -lavifil32 -lkernel32 $(ALL_LIBS)

aviplay.exe: aviplay.o
	$(CC) -o $@ aviplay.o -lavifil32 -lddraw -lkernel32 $(ALL_LIBS)

icinfo.exe: icinfo.o
	$(CC) -o $@ icinfo.o -lmsvfw32 -lkernel32 $(ALL_LIBS)

$(PROGRAMS:.exe=): $(WINEWRAPPER)
	$(RM) $@ && $(LN_S) $(WINEWRAPPER) $@

# Rules for installation

.PHONY: install_prog install_prog.so uninstall_prog uninstall_prog.so

install_prog.so: $(PROGRAMS:%=%.so)
	$(MKINSTALLDIRS) $(dlldir)
	$(INSTALL_PROGRAM) aviinfo.exe.so $(dlldir)/aviinfo.exe.so
	$(INSTALL_PROGRAM) aviplay.exe.so $(dlldir)/aviplay.exe.so
	$(INSTALL_PROGRAM) icinfo.exe.so $(dlldir)/icinfo.exe.so

install_prog: $(PROGRAMS)
	$(MKINSTALLDIRS) $(bindir)
	$(INSTALL_PROGRAM) aviinfo.exe $(bindir)/aviinfo.exe
	$(INSTALL_PROGRAM) aviplay.exe $(bindir)/aviplay.exe
	$(INSTALL_PROGRAM) icinfo.exe $(bindir)/icinfo.exe

uninstall_prog.so:
	$(RM) $(PROGRAMS:%=$(dlldir)/%.so)

uninstall_prog:
	$(RM) $(PROGRAMS:%=$(bindir)/%)

install:: install_prog$(DLLEXT)

uninstall:: uninstall_prog$(DLLEXT)

clean::
	$(RM) $(PROGRAMS:.exe=)

### Dependencies:
