From: Zooko O'Whielacronx Date: Tue, 10 Apr 2007 19:24:32 +0000 (-0700) Subject: port GNUmakefile to Windows, cygwin, Linux, MacOSX/PPC, MacOSX/Intel X-Git-Url: https://git.rkrishnan.org/components/com_hotproperty/flags/class-simplejson.JSONEncoder.html?a=commitdiff_plain;h=08bdde9e4a5bca55c53d1ec18cb40ad176eef85f;p=tahoe-lafs%2Ftahoe-lafs.git port GNUmakefile to Windows, cygwin, Linux, MacOSX/PPC, MacOSX/Intel And of course it may well work on lots of other modern unixes, too, especially the more GNUish ones. --- diff --git a/GNUmakefile b/GNUmakefile index 5fc09875..4c45f9d0 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -3,31 +3,45 @@ default: build BASE=$(shell pwd) PYTHON=python INSTDIR=$(BASE)/instdir +PATHSEP=$(shell python -c 'import os ; print os.pathsep') +TRIALPATH=$(shell which trial.py) +ifeq ($(TRIALPATH),) +TRIALPATH=$(shell which trial) +endif -UNAME=$(shell uname) -ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN) -EXTRA_SETUP_ARGS=build -c mingw32 -PATHDIR := $(shell cygpath -m $(INSTDIR)) -INSTDIR := $(shell cygpath -w $(INSTDIR)) -TRIAL=$(PYTHON) `cygpath -m \`type -p trial\` ` -ifneq ($(PYTHONPATH),) -PYTHONPATH := $(shell cygpath -m $(PYTHONPATH)) +EXTRA_SETUP_ARGS= +REACTOR=poll + +PLAT = $(strip $(shell python -c "import sys ; print sys.platform")) +ifeq ($(PLAT),cygwin) + # The platform is Windows with cygwin build tools and the cygwin Python interpreter. + INSTDIR := $(shell cygpath -u $(INSTDIR)) +else + ifeq ($(PLAT),win32) + # The platform is Windows with cygwin build tools and the native Python interpreter. + EXTRA_SETUP_ARGS=build -c mingw32 + REACTOR=iocp + INSTDIR := $(shell cygpath -w $(INSTDIR)) + TRIALPATH := $(shell cygpath -w $(TRIALPATH)) + ifneq ($(PYTHONPATH),) + PYTHONPATH := $(shell cygpath -w $(PYTHONPATH)) + endif + endif endif + +ifneq ($(PYTHONPATH),) +PYTHONPATH := "$(PYTHONPATH)$(PATHSEP)$(INSTDIR)" else -EXTRA_SETUP_ARGS= -PATHDIR := $(INSTDIR) -TRIAL=trial +PYTHONPATH := "$(INSTDIR)" endif +TRIAL=$(PYTHON) -u "$(TRIALPATH)" --reactor=$(REACTOR) +# $(error $(TRIAL)) + show-instdir: @echo $(INSTDIR) -PATHSEP=$(shell python -c 'import os; print os.pathsep') -ifneq ($(PYTHONPATH),) -PP=PYTHONPATH=$(PYTHONPATH)$(PATHSEP)$(PATHDIR) -else -PP=PYTHONPATH=$(PATHDIR) -endif +PP=PYTHONPATH=$(PYTHONPATH) .PHONY: build build: build-pyfec build-Crypto @@ -63,8 +77,9 @@ run-client2: run-client3: cd client-basedir3 && PYTHONPATH=.. twistd -noy ../client.tac - +ifeq ($(TEST),) TEST=allmydata fec +endif REPORTER= # use 'make test REPORTER=--reporter=bwverbose' from buildbot, to supress the