SRC_DIR = @srcdir@
HAVE_UDP = @HAVE_UDP@

ifeq ($(HAVE_UDP),yes)
SUBDIRS = qw_client qw_server uquake
else
SUBDIRS = uquake
endif

DESTDIR =

ANONCVS=:pserver:anonymous@cvs.quake.sourceforge.net:/cvsroot/quake

all:
	@for dir in $(SUBDIRS); do \
	$(MAKE) -C $$dir $@ || exit; \
	done

distclean:
	rm -f config.cache config.log config.status Makefile
	rm -f common/config.h
	rm -f build_rpm quakeforge-*.tar.gz quakeforge.spec
	find . -name \*~ | xargs rm -f
	find . -name \*.bak | xargs rm -f
	find . -name '.#*' | xargs rm -f
	find . -name '#*#' | xargs rm -f
	find . -name core -type f | xargs rm -f
	rm -rf targets
	rm -rf rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS,build_rpm,quakeforge.spec,rpmmacros}
	for dir in $(SUBDIRS); do \
	$(MAKE) -C $$dir $@ || exit; \
	done

clean-autoconf mrproper: distclean
	rm -f common/config.h.in
	rm -f configure

%:
	@for dir in $(SUBDIRS); do \
	$(MAKE) -C $$dir $@ || exit; \
	done


changelog:
	@echo "CVS will ask for a passwd, press enter"
	cvs -d$(ANONCVS) login
	./tools/cvs2cl/cvs2cl.pl -g -d$(ANONCVS)

# Code to automatically re-configure, only runs if you are compiling in the
# source directory
ifeq ($(SRC_DIR),.)
configure: configure.in acconfig.h
	./bootstrap

Makefile: Makefile.in configure \
          qw_client/Makefile qw_server/Makefile uquake/Makefile
	$(SHELL) ./config.status --recheck
	$(SHELL) ./config.status

qw_client/Makefile: qw_client/Makefile.in configure
	$(SHELL) ./config.status --recheck
	$(SHELL) ./config.status

qw_server/Makefile: qw_server/Makefile.in configure
	$(SHELL) ./config.status --recheck
	$(SHELL) ./config.status

uquake/Makefile: uquake/Makefile.in configure
	$(SHELL) ./config.status --recheck
	$(SHELL) ./config.status
endif
