SHAPELY_URL=http://pypi.python.org/packages/source/S/Shapely/Shapely-1.0.14.tar.gz LP_SOLVE_LIB_URL=http://downloads.sourceforge.net/project/lpsolve/lpsolve/5.5.0.15/lp_solve_5.5.0.15_source.tar.gz LP_SOLVE_PYTHON_URL=http://downloads.sourceforge.net/project/lpsolve/lpsolve/5.5.0.15/lp_solve_5.5.0.15_Python_source.tar.gz .PHONY : env-js all: lp_solve shapely env-js clean: rm -rf lp_solve rm -rf lp_solve_5.5 rm -rf Shapely rm -f *.tar.gz shapely: ./Shapely/setup.py # We just need to check for any Shapely file here. There # is nothing special about setup.py. ./Shapely/setup.py: if [ ! -d Shapely ]; then \ wget -O shapely.tar.gz $(SHAPELY_URL); \ tar -xvzf shapely.tar.gz; \ rm shapely.tar.gz; \ mv Shapely* Shapely; \ fi; lp_solve: ./lp_solve/liblpsolve55.so ./lp_solve/lpsolve55.so # Patch Makefile.Linux so that it doesn't pass the -l # flag to flex. Double dollar signs are required to get # a single '$' within a makefile. LFLAGS_PATCH = sed -i 's/^LFLAGS = -L -l$$/LFLAGS = -L/' ./lp_solve/liblpsolve55.so: make lp_solve_lib_src if [ -f lp_solve_5.5/Makefile.Linux ]; then \ $(LFLAGS_PATCH) lp_solve_5.5/Makefile.Linux; \ mv lp_solve_5.5/Makefile.Linux lp_solve_5.5/Makefile; \ fi; make -C lp_solve_5.5 mkdir -p lp_solve mv lp_solve_5.5/lpsolve55/liblpsolve55.so ./lp_solve ./lp_solve/lpsolve55.so: make ./lp_solve/liblpsolve55.so lp_solve_python_src cd lp_solve_5.5/extra/Python; \ sed -i 's~lpsolve55/bin/\(ux\|win\)32~../lp_solve~' setup.py; \ python setup.py build; \ mv build/lib.linux-*/*.so ../../../lp_solve/; lp_solve_lib_src: if [ ! -d lp_solve_5.5 ]; then \ wget -O lp_solve.tar.gz $(LP_SOLVE_LIB_URL); \ tar -xvzf lp_solve.tar.gz; \ rm lp_solve.tar.gz; \ fi; lp_solve_python_src: lp_solve_lib_src if [ ! -d lp_solve_5.5/extra ]; then \ wget -O lp_solve_python.tar.gz $(LP_SOLVE_PYTHON_URL); \ tar -xvzf lp_solve_python.tar.gz; \ rm lp_solve_python.tar.gz; \ fi; # A phony target, always run. env-js: cd env-js && ant concat