# [Makefile wk 19.06.97] for the Mingw32/CPD system
#

.PHONY: all install clean distclean dist libs make-binutils make-gcc \
	copy-api-headers

-include config.mk

gcclibdir := $(PREFIX)/lib/gcc-lib/${TARGET}/${GCCVER}
target_dir := $(PREFIX)/$(TARGET)
cpdver_age := $(CPDVER_AGE)

all: config.okay make-gcc libs

config.okay:
	@./Configure
	@echo
	@echo "You should now re-run make"
	@echo "(Please ignore the error, it is used to stop the make run)"
	exit 1

libs:	
	$(MAKE) -C src

install: all install-mingw32
	$(MAKE) -C src install

clean:
	$(MAKE) -C src clean
	-rm -f *.tmp *~

distclean:  clean
	-rm -f config.okay  config.mk config.cache config.new

dist:
	@set -e; \
	version=$$(sed -ne '/^CPDVER=/s/.*=\([0-9.]*\)/\1/p' config.in); \
	echo "Making mingw32-cpd-$$version.tar.gz"; \
	cvs -q diff || exit 1; \
	test -d ../temp || mkdir ../temp; \
	cd ../temp || exit 2; \
	rm -rf mingw32-cpd-$$version; \
	mkdir mingw32-cpd-$$version || exit 2; \
	cvs -Q checkout -d mingw32-cpd-$$version mingw32-cpd ; \
	cd mingw32-cpd-$$version || exit 2; \
	tagver=V-$$(echo $$version| sed -e 's/\./-/g'); \
	echo "Tagging the CVS archives with $$tagver"; \
	cvs -Q tag $$tagver || exit 2; \
	rm -r $$(find . -name CVS -type d); \
	cd .. || exit 2; \
	echo "Creating tar file"; \
	tar czf mingw32-cpd-$$version.tar.gz mingw32-cpd-$$version


make-binutils:
	make -C binutils-build
	make -C binutils-build install
	set -e; cd $(PREFIX)/bin; ln -sf ../$(TARGET)/bin/dlltool .

make-gcc: make-binutils
	-mkdir -p $(PREFIX)/$(TARGET)/include
	cp -a src/include/* $(PREFIX)/${TARGET}/include
	-mkdir gcc-build/binutils
	ln -sf $(target_dir)/bin/ar gcc-build/binutils/ar
	ln -sf $(target_dir)/bin/ranlib gcc-build/binutils/ranlib
	make -C gcc-build LANGUAGES="c"
	make -C gcc-build LANGUAGES="c" install
	rm -rf $(gcclibdir)/include
	# $(target_dir)/bin/gcc -dumpspecs > $(gcclibdir)/specs
	-strip $(PREFIX)/bin/$(TARGET)-*
	-strip $(PREFIX)/$(TARGET)/bin/*

install-mingw32: 
	sed < mingw32.in > $(MAINPREFIX)/bin/mingw32.tmp \
	   -e "s,@INSTALL_DIR@,$(PREFIX),g" \
	   -e "s,@VERSION@,$(CPDVER),g"
	chmod +x $(MAINPREFIX)/bin/mingw32.tmp
	mv $(MAINPREFIX)/bin/mingw32.tmp $(MAINPREFIX)/bin/mingw32

