]> gitweb.michael.orlitzky.com - dead/census-tools.git/blob - lib/makefile
301f2a25634ef652fc94c8c845be7d8c5f8d3f3e
[dead/census-tools.git] / lib / makefile
1 SHAPELY_URL=http://pypi.python.org/packages/source/S/Shapely/Shapely-1.0.14.tar.gz
2 LP_SOLVE_LIB_URL=http://downloads.sourceforge.net/project/lpsolve/lpsolve/5.5.0.15/lp_solve_5.5.0.15_source.tar.gz
3 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
4
5
6 all: lp_solve shapely
7
8
9 clean:
10 rm -rf lp_solve
11 rm -rf lp_solve_5.5
12 rm -rf Shapely
13 rm -f *.tar.gz
14
15
16 shapely: ./Shapely/setup.py
17
18 # We just need to check for any Shapely file here. There
19 # is nothing special about setup.py.
20 ./Shapely/setup.py:
21 if [ ! -d Shapely ]; then \
22 wget -O shapely.tar.gz $(SHAPELY_URL); \
23 tar -xvzf shapely.tar.gz; \
24 rm shapely.tar.gz; \
25 mv Shapely* Shapely; \
26 fi;
27
28
29 lp_solve: ./lp_solve/liblpsolve55.so ./lp_solve/lpsolve55.so
30
31
32 # Patch Makefile.Linux so that it doesn't pass the -l
33 # flag to flex. Double dollar signs are required to get
34 # a single '$' within a makefile.
35 LFLAGS_PATCH = sed -i 's/^LFLAGS = -L -l$$/LFLAGS = -L/'
36 ./lp_solve/liblpsolve55.so:
37 make lp_solve_lib_src
38 if [ -f lp_solve_5.5/Makefile.Linux ]; then \
39 $(LFLAGS_PATCH) lp_solve_5.5/Makefile.Linux; \
40 mv lp_solve_5.5/Makefile.Linux lp_solve_5.5/Makefile; \
41 fi;
42 make -C lp_solve_5.5
43 mkdir -p lp_solve
44 mv lp_solve_5.5/lpsolve55/liblpsolve55.so ./lp_solve
45
46
47 ./lp_solve/lpsolve55.so:
48 make ./lp_solve/liblpsolve55.so lp_solve_python_src
49 cd lp_solve_5.5/extra/Python; \
50 sed -i 's~lpsolve55/bin/\(ux\|win\)32~../lp_solve~' setup.py; \
51 python setup.py build; \
52 mv build/lib.linux-*/* ../../../lp_solve/;
53 # Change the problem type from 'maximize' to 'minimize'.
54 sed -i 's/set_maxim/set_minim/' lp_solve/lp_solve.py
55
56
57 lp_solve_lib_src:
58 if [ ! -d lp_solve_5.5 ]; then \
59 wget -O lp_solve.tar.gz $(LP_SOLVE_LIB_URL); \
60 tar -xvzf lp_solve.tar.gz; \
61 rm lp_solve.tar.gz; \
62 fi;
63
64
65 lp_solve_python_src: lp_solve_lib_src
66 if [ ! -d lp_solve_5.5/extra ]; then \
67 wget -O lp_solve_python.tar.gz $(LP_SOLVE_PYTHON_URL); \
68 tar -xvzf lp_solve_python.tar.gz; \
69 rm lp_solve_python.tar.gz; \
70 fi;