DEFS      = -DLEX_OUTPUT_ROOT="\"@LEX_OUTPUT_ROOT@\""
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = none
EXTRAINCL = @FREETYPEINCL@
FREETYPELIBS = @FREETYPELIBS@

PROGRAMS = \
	bin2res \
	fnt2bdf \
	fnt2fon \
	make_ctests \
	makedep \
	sfnt2fnt \
	wineprefixcreate

C_SRCS = \
	bin2res.c \
	fnt2bdf.c \
	fnt2fon.c \
	make_ctests.c \
	makedep.c \
	sfnt2fnt.c \

SUBDIRS = \
	widl \
	winebuild \
	winedump \
	winegcc \
	wmc \
	wrc

INSTALLSUBDIRS = $(SUBDIRS)

EXTRASUBDIRS = winapi_check

UPDATE_DESKTOP_DATABASE = update-desktop-database

all: $(PROGRAMS) $(SUBDIRS)

@MAKE_RULES@

makedep: makedep.o
	$(CC) $(CFLAGS) -o makedep makedep.o

make_ctests: make_ctests.o
	$(CC) $(CFLAGS) -o make_ctests make_ctests.o

fnt2bdf: fnt2bdf.o
	$(CC) $(CFLAGS) -o fnt2bdf fnt2bdf.o $(LIBPORT)

fnt2fon: fnt2fon.o
	$(CC) $(CFLAGS) -o fnt2fon fnt2fon.o $(LIBPORT)

sfnt2fnt: sfnt2fnt.o
	$(CC) $(CFLAGS) -o sfnt2fnt sfnt2fnt.o $(LIBUNICODE) $(LIBPORT) $(FREETYPELIBS)

bin2res: bin2res.o
	$(CC) $(CFLAGS) -o bin2res bin2res.o $(LIBPORT)

wineprefixcreate: wineprefixcreate.in
	sed -e 's,@dlldir\@,$(dlldir),g' -e 's,@datadir\@,$(datadir),g' $(SRCDIR)/wineprefixcreate.in >$@ || ($(RM) $@ && false)
	chmod +x wineprefixcreate

install install-lib:: wineprefixcreate
	$(MKINSTALLDIRS) $(bindir) $(datadir)/wine $(datadir)/applications
	$(INSTALL_SCRIPT) wineprefixcreate $(bindir)/wineprefixcreate
	$(INSTALL_DATA) $(SRCDIR)/wine.inf $(datadir)/wine/wine.inf
	$(INSTALL_DATA) $(SRCDIR)/wine.desktop $(datadir)/applications/wine.desktop
	-$(UPDATE_DESKTOP_DATABASE)

install install-dev:: $(INSTALLSUBDIRS:%=%/__install__)
	$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
	$(INSTALL_SCRIPT) $(SRCDIR)/winemaker $(bindir)/winemaker
	$(INSTALL_DATA) $(SRCDIR)/winemaker.man $(mandir)/man$(prog_manext)/winemaker.$(prog_manext)

uninstall::
	$(RM) $(bindir)/winemaker $(bindir)/wineprefixcreate $(mandir)/man$(prog_manext)/winemaker.$(prog_manext) \
	      $(datadir)/wine/wine.inf $(datadir)/applications/wine.desktop
	-$(UPDATE_DESKTOP_DATABASE)

### Dependencies:
