DEFS      = -D__WINESRC__ $(EXTRADEFS)
EXTRAINCL = @FREETYPEINCL@
FREETYPELIBS = @FREETYPELIBS@

PROGRAMS = \
	fnt2fon$(EXEEXT) \
	make_ctests$(EXEEXT) \
	make_xftmpl$(EXEEXT) \
	relpath$(EXEEXT) \
	sfnt2fnt$(EXEEXT) \
	wine.inf \
	wineapploader

MANPAGE = winemaker.man

EXTRA_MANPAGES = \
	winemaker.de.man \
	winemaker.fr.man

C_SRCS = \
	fnt2fon.c \
	make_ctests.c \
	make_xftmpl.c \
	makedep.c \
	relpath.c \
	sfnt2fnt.c

EXTRASUBDIRS = winapi

INSTALLDIRS = \
	$(DESTDIR)$(bindir) \
	$(DESTDIR)$(datadir)/applications \
	$(DESTDIR)$(datadir)/wine \
	$(DESTDIR)$(mandir)/man$(prog_manext) \
	$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext) \
	$(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)

UPDATE_DESKTOP_DATABASE = update-desktop-database

all: makedep$(EXEEXT) $(PROGRAMS)

@MAKE_RULES@

makedep$(EXEEXT) $(EXEEXT:%=makedep): makedep.o
	$(CC) $(CFLAGS) -o $@ makedep.o $(LDFLAGS)

make_ctests$(EXEEXT): make_ctests.o
	$(CC) $(CFLAGS) -o $@ make_ctests.o $(LDFLAGS)

make_xftmpl$(EXEEXT): make_xftmpl.o
	$(CC) $(CFLAGS) -o $@ make_xftmpl.o $(LIBPORT) $(LDFLAGS)

fnt2fon$(EXEEXT): fnt2fon.o
	$(CC) $(CFLAGS) -o $@ fnt2fon.o $(LIBPORT) $(LDFLAGS)

relpath$(EXEEXT): relpath.o
	$(CC) $(CFLAGS) -o $@ relpath.o $(LIBPORT) $(LDFLAGS)

sfnt2fnt$(EXEEXT): sfnt2fnt.o relpath$(EXEEXT)
	$(CC) $(CFLAGS) -o $@ sfnt2fnt.o $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(FREETYPELIBS) $(LDRPATH_LOCAL)

wine.inf: wine.inf.in
	LC_ALL=C sed -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' $(srcdir)/wine.inf.in >$@ || ($(RM) $@ && false)

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

install install-lib:: wine.inf $(INSTALLDIRS)
	$(INSTALL_DATA) wine.inf $(DESTDIR)$(datadir)/wine/wine.inf
	$(INSTALL_DATA) $(srcdir)/l_intl.nls $(DESTDIR)$(datadir)/wine/l_intl.nls
	$(INSTALL_DATA) $(srcdir)/wine.desktop $(DESTDIR)$(datadir)/applications/wine.desktop
	-$(UPDATE_DESKTOP_DATABASE)

install install-dev:: $(DESTDIR)$(bindir) install-man-pages
	$(INSTALL_SCRIPT) $(srcdir)/winemaker $(DESTDIR)$(bindir)/winemaker

install-man-pages:: $(EXTRA_MANPAGES) $(INSTALLDIRS)
	$(INSTALL_DATA) winemaker.de.man $(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext)/winemaker.$(prog_manext)
	$(INSTALL_DATA) winemaker.fr.man $(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)/winemaker.$(prog_manext)

uninstall::
	$(RM) $(DESTDIR)$(datadir)/wine/wine.inf \
		$(DESTDIR)$(datadir)/wine/l_intl.nls \
		$(DESTDIR)$(datadir)/applications/wine.desktop \
		$(DESTDIR)$(bindir)/winemaker \
		$(DESTDIR)$(mandir)/de.UTF-8/man$(prog_manext)/winemaker.$(prog_manext) \
		$(DESTDIR)$(mandir)/fr.UTF-8/man$(prog_manext)/winemaker.$(prog_manext)
	-$(UPDATE_DESKTOP_DATABASE)

depend: makedep$(EXEEXT)
