TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = none

SUBDIRS = \
	avitools \
	clock \
	cmdlgtst \
	control \
	expand \
	notepad \
	osversioncheck \
	progman \
	regapi \
	regedit \
	regsvr32 \
	regtest \
	rundll32 \
	uninstaller \
	view \
	wcmd \
	wineconsole \
	winedbg \
	winefile \
	winemine \
	winepath \
	winhelp \
	winver

# Sub-directories to run make install into
INSTALLSUBDIRS = \
	avitools \
	clock \
	control \
	expand \
	notepad \
	progman \
	regedit \
	regsvr32 \
	rundll32 \
	uninstaller \
	wcmd \
	wineconsole \
	winedbg \
	winefile \
	winemine \
	winepath \
	winhelp \
	winver

# Programs to install in bin directory
# We don't install everything to avoid polluting /usr/bin too much
INSTALLPROGS = \
	notepad \
	progman \
	regedit \
	regsvr32 \
	uninstaller \
	wcmd \
	wineconsole \
	winedbg \
	winefile \
	winemine \
	winepath \
	winhelp

# Symlinks to apps that we want to run from inside the source tree
SYMLINKS = \
	wineconsole.exe \
	winedbg.exe \
	winhelp.exe

@MAKE_RULES@

all: wineapploader winelauncher $(SUBDIRS) $(SYMLINKS:%=%$(DLLEXT))

wineapploader: wineapploader.in
	sed -e 's,@bindir\@,$(bindir),g' $(SRCDIR)/wineapploader.in >$@ || $(RM) $@

winelauncher: winelauncher.in
	sed -e 's,@bindir\@,$(bindir),g' -e 's,@libdir\@,$(libdir),g' -e 's,@dlldir\@,$(dlldir),g' $(SRCDIR)/winelauncher.in >$@ || $(RM) $@

# Rules for installation

.PHONY: install-apploader install-progs install-progs.so $(INSTALLPROGS:%=%/__installprog__)

install-apploader: wineapploader dummy
	$(MKINSTALLDIRS) $(bindir)
	$(INSTALL_SCRIPT) wineapploader $(bindir)/wineapploader

$(INSTALLPROGS:%=%/__installprog__): install-apploader
	$(RM) $(bindir)/`dirname $@` && $(LN) $(bindir)/wineapploader $(bindir)/`dirname $@`

install-progs.so: $(INSTALLPROGS:%=%/__installprog__)
	$(RM) $(bindir)/wineapploader

install-progs: # nothing to do here

install:: winelauncher install-progs$(DLLEXT)
	$(MKINSTALLDIRS) $(bindir)
	$(INSTALL_SCRIPT) winelauncher $(bindir)/winelauncher

uninstall::
	$(RM) $(bindir)/wineapploader $(bindir)/winelauncher $(INSTALLPROGS:%=$(bindir)/%)
	-rmdir $(dlldir)

clean::
	$(RM) wineapploader winelauncher $(SYMLINKS)

# Rules for testing

checklink:: $(SUBDIRS:%=%/__checklink__)

check test:: $(SUBDIRS:%=%/__test__)

# Rules for symlinks

wineconsole.exe$(DLLEXT): wineconsole/wineconsole.exe$(DLLEXT)
	$(RM) $@ && $(LN_S) wineconsole/wineconsole.exe$(DLLEXT) $@

winedbg.exe$(DLLEXT): winedbg/winedbg.exe$(DLLEXT)
	$(RM) $@ && $(LN_S) winedbg/winedbg.exe$(DLLEXT) $@

winhelp.exe$(DLLEXT): winhelp/winhelp.exe$(DLLEXT)
	$(RM) $@ && $(LN_S) winhelp/winhelp.exe$(DLLEXT) $@

wineconsole/wineconsole.exe$(DLLEXT): wineconsole
winedbg/winedbg.exe$(DLLEXT): winedbg
winhelp/winhelp.exe$(DLLEXT): winhelp

### Dependencies:
