LIBVOIKKO = libvoikko-4.3.3
VOIKKOFI = voikko-fi-2.5

all: libvoikko/.build voikko-fi/.build

libvoikko/.unpack: $(LIBVOIKKO).tar.gz $(LIBVOIKKO).patch
	rm -rf libvoikko
	mkdir libvoikko
	tar --strip 1 -x -f $(LIBVOIKKO).tar.gz -C libvoikko
	touch $@

libvoikko/.patch: libvoikko/.unpack $(LIBVOIKKO).patch
	(cd libvoikko && patch -p1 <../$(LIBVOIKKO).patch)
	touch $@

libvoikko/.configure: libvoikko/.patch
	(cd libvoikko && ./configure --enable-shared=no --disable-hfst --disable-external-dicts --disable-testtools --disable-buildtools --disable-assert --host=ppc-morphos RANLIB=ppc-morphos-ranlib CC=ppc-morphos-gcc-9 CFLAGS="-noixemul -Os" CXX=ppc-morphos-g++-9 CXXFLAGS="-noixemul -Os")
	(cd libvoikko && sed 's/#define HAVE_MALLOC 0/#define HAVE_MALLOC 1/g;s/#define HAVE_REALLOC 0/#define HAVE_REALLOC 1/g;s|#define malloc rpl_malloc|/*#define malloc rpl_malloc*/|g;s|#define realloc rpl_realloc|/*#define realloc rpl_realloc*/|g' < config.h > config.h.new && mv config.h.new config.h)
	touch $@

libvoikko/.build: libvoikko/.configure
	$(MAKE) -j$(shell nproc) -C libvoikko
	touch $@

voikko-fi/.unpack: $(VOIKKOFI).tar.gz
	rm -rf voikko-fi
	mkdir voikko-fi
	tar --strip 1 -x -f $(VOIKKOFI).tar.gz -C voikko-fi
	touch $@

voikko-fi/.build: voikko-fi/.unpack
	$(MAKE) -C voikko-fi VVFST_BASEFORMS=no
	touch $@

clean:
	rm -rf libvoikko voikko-fi

diff:
	diff -x CVS -ruN $(LIBVOIKKO).old $(LIBVOIKKO).new > $(LIBVOIKKO).patch

.PHONY: all clean diff
