1 |
# xdelta 3 - delta compression tools and library |
2 |
# Copyright (C) 2001, 2003, 2004, 2005, 2006. Joshua P. MacDonald |
3 |
|
4 |
SOURCES = xdelta3-cfgs.h \ |
5 |
xdelta3-decode.h \ |
6 |
xdelta3-djw.h \ |
7 |
xdelta3-fgk.h \ |
8 |
xdelta3-list.h \ |
9 |
xdelta3-main.h \ |
10 |
xdelta3-python.h \ |
11 |
xdelta3-second.h \ |
12 |
xdelta3-test.h \ |
13 |
xdelta3.c \ |
14 |
xdelta3.h |
15 |
|
16 |
TARGETS = xdelta3-debug \ |
17 |
xdelta3.exe \ |
18 |
xdelta3-debug2 \ |
19 |
xdelta3-debug3 \ |
20 |
xdelta3.o \ |
21 |
xdelta3_wrap.o \ |
22 |
xdelta3module.so \ |
23 |
xdelta3-32 \ |
24 |
xdelta3-64 \ |
25 |
xdelta3-everything \ |
26 |
xdelta3-Opg \ |
27 |
xdelta3-64-O \ |
28 |
xdelta3-Op \ |
29 |
xdelta3-decoder xdelta3-decoder-nomain.o \ |
30 |
xdelta3-nosec.o xdelta3-all.o xdelta3-fgk.o \ |
31 |
xdelta3-noext xdelta3-tools xdelta3-tune \ |
32 |
xdelta3-notools \ |
33 |
xdelta3_wrap.c xdelta3.py \ |
34 |
$(PYTGT) $(SWIGTGT) |
35 |
|
36 |
PYTHON = python |
37 |
|
38 |
SWIGTGT = xdelta3module.so |
39 |
#SWIGTGT = xdelta3module.dll |
40 |
|
41 |
PYTGT = build/lib.linux-i686-2.4/xdelta3main.so |
42 |
#PYTGT = build/lib.cygwin-1.5.24-i686-2.4/xdelta3main.dll |
43 |
|
44 |
EXTRA = Makefile COPYING linkxd3lib.c badcopy.c xdelta3.swig \ |
45 |
draft-korn-vcdiff.txt xdelta3.vcproj badcopy.vcproj \ |
46 |
xdelta3-regtest.py xdelta3-test.py setup.py \ |
47 |
examples/Makefile examples/small_page_test.c \ |
48 |
xdelta3.py xdelta3_wrap.c |
49 |
|
50 |
SWIG_FLAGS = -DXD3_DEBUG=0 \ |
51 |
-DEXTERNAL_COMPRESSION=0 \ |
52 |
-DXD3_USE_LARGEFILE64=1 \ |
53 |
-DGENERIC_ENCODE_TABLES=1 \ |
54 |
-DSECONDARY_DJW=1 \ |
55 |
-DVCDIFF_TOOLS=1 \ |
56 |
-DSWIG_MODULE=1 \ |
57 |
-O3 |
58 |
|
59 |
# $Format: "REL=$Xdelta3Version$" $ |
60 |
REL=0q |
61 |
RELDIR = xdelta3$(REL) |
62 |
|
63 |
all: xdelta3-debug xdelta3 |
64 |
|
65 |
all-py: all $(PYTGT) $(SWIGTGT) |
66 |
|
67 |
all-targets: $(TARGETS) |
68 |
|
69 |
all-targets-test: all-targets test |
70 |
|
71 |
pytgt: $(PYTGT) |
72 |
swigtgt: $(SWIGTGT) |
73 |
|
74 |
test: |
75 |
./xdelta3-debug test |
76 |
|
77 |
tar: |
78 |
tar --exclude ".svn" -czf /tmp/$(RELDIR)-tmp.tar.gz $(SOURCES) $(EXTRA) |
79 |
rm -rf /tmp/$(RELDIR) |
80 |
mkdir /tmp/$(RELDIR) |
81 |
(cd /tmp/$(RELDIR) && tar -xzf ../$(RELDIR)-tmp.tar.gz) |
82 |
tar -czf ./$(RELDIR).tar.gz -C /tmp $(RELDIR) |
83 |
+tar -tzf ./$(RELDIR).tar.gz |
84 |
rm -rf /tmp/$(RELDIR) |
85 |
|
86 |
clean: |
87 |
rm -f $(TARGETS) |
88 |
rm -rf build Debug Release core cifs* *.stackdump *.exe \ |
89 |
xdelta3.ncb xdelta3.suo xdelta3.sln |
90 |
|
91 |
xdelta3: $(SOURCES) |
92 |
$(CC) -O3 -Wall -Wshadow xdelta3.c -lm -o xdelta3.exe \ |
93 |
-DXD3_DEBUG=0 \ |
94 |
-DXD3_USE_LARGEFILE64=1 \ |
95 |
-DREGRESSION_TEST=1 \ |
96 |
-DSECONDARY_DJW=1 \ |
97 |
-DSECONDARY_FGK=1 \ |
98 |
-DXD3_MAIN=1 \ |
99 |
-DXD3_POSIX=1 |
100 |
|
101 |
xdelta3-debug: $(SOURCES) |
102 |
$(CC) -g -Wall -Wshadow xdelta3.c -o xdelta3-debug -DXD3_MAIN=1 -DGENERIC_ENCODE_TABLES=1 \ |
103 |
-DXD3_USE_LARGEFILE64=1 -DXD3_STDIO=1 -DREGRESSION_TEST=1 -DXD3_DEBUG=1 -DSECONDARY_DJW=1 -DSECONDARY_FGK=1 -lm |
104 |
|
105 |
xdelta3-debug2: $(SOURCES) |
106 |
$(CC) -g -Wall -Wshadow xdelta3.c -o xdelta3-debug2 -DXD3_MAIN=1 -DGENERIC_ENCODE_TABLES=1 \ |
107 |
-DXD3_USE_LARGEFILE64=1 -DXD3_STDIO=1 -DREGRESSION_TEST=1 -DXD3_DEBUG=2 -DSECONDARY_DJW=1 -DSECONDARY_FGK=1 -lm |
108 |
|
109 |
xdelta3-debug3: $(SOURCES) |
110 |
$(CC) -g -Wall -Wshadow xdelta3.c -o xdelta3-debug3 -DXD3_MAIN=1 -DGENERIC_ENCODE_TABLES=1 \ |
111 |
-DXD3_USE_LARGEFILE64=1 -DXD3_STDIO=1 -DREGRESSION_TEST=1 -DXD3_DEBUG=3 -DSECONDARY_DJW=1 -DSECONDARY_FGK=1 -lm |
112 |
|
113 |
$(PYTGT): $(SOURCES) setup.py |
114 |
$(PYTHON) setup.py install --verbose --compile --force |
115 |
|
116 |
xdelta3_wrap.c xdelta3.py: xdelta3.swig |
117 |
swig -python xdelta3.swig |
118 |
|
119 |
xdelta3.o: $(SOURCES) |
120 |
$(CC) -g -Wall -Wshadow -c xdelta3.c $(SWIG_FLAGS) -o xdelta3.o |
121 |
|
122 |
xdelta3_wrap.o: xdelta3_wrap.c |
123 |
$(CC) $(SWIG_FLAGS) \ |
124 |
-DHAVE_CONFIG_H \ |
125 |
-I/usr/include/python2.4 \ |
126 |
-I/usr/lib/python2.4/config \ |
127 |
-fpic \ |
128 |
-c -g xdelta3_wrap.c |
129 |
|
130 |
xdelta3module.dll: xdelta3_wrap.o xdelta3.o |
131 |
gcc -shared -Wl,--enable-auto-image-base xdelta3.o xdelta3_wrap.o -L/usr/lib/python2.4/config -lpython2.4 -o xdelta3module.dll |
132 |
cp $(SWIGTGT) /usr/lib/python2.4/site-packages |
133 |
|
134 |
xdelta3module.so: xdelta3_wrap.o xdelta3.o |
135 |
ld -shared xdelta3.o xdelta3_wrap.o -o xdelta3module.so /usr/lib/libpython2.4.so -lgcc_s -lc |
136 |
|
137 |
xdelta3-decoder: $(SOURCES) |
138 |
$(CC) -O2 -Wall -Wshadow xdelta3.c \ |
139 |
-DXD3_ENCODER=0 -DXD3_MAIN=1 -DSECONDARY_FGK=0 -DSECONDARY_DJW=0 \ |
140 |
-DXD3_STDIO=1 -DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=0 \ |
141 |
-o xdelta3-decoder |
142 |
|
143 |
xdelta3-decoder-nomain.o: $(SOURCES) linkxd3lib.c |
144 |
$(CC) -O2 -Wall -Wshadow xdelta3.c linkxd3lib.c \ |
145 |
-DXD3_ENCODER=0 -DSECONDARY_FGK=0 -DSECONDARY_DJW=0 \ |
146 |
-o xdelta3-decoder-nomain.o |
147 |
strip xdelta3-decoder-nomain.o |
148 |
|
149 |
xdelta3-32: $(SOURCES) |
150 |
$(CC) -g -O2 -Wall -Wshadow xdelta3.c -o xdelta3-32 -DXD3_MAIN=1 -DSECONDARY_DJW=1 -DREGRESSION_TEST=1 -lm |
151 |
|
152 |
xdelta3-O++: $(SOURCES) |
153 |
$(CXX) -g -O2 -Wall -Wshadow xdelta3.c -o xdelta3-O++ -DXD3_MAIN=1 -DSECONDARY_DJW=1 -DREGRESSION_TEST=1 -lm |
154 |
|
155 |
xdelta3-Op: $(SOURCES) |
156 |
$(CC) -g -O2 -Wall -Wshadow xdelta3.c -o xdelta3-Op -DXD3_POSIX=1 -DXD3_MAIN=1 -DREGRESSION_TEST=1 -lm |
157 |
|
158 |
xdelta3-64: $(SOURCES) |
159 |
$(CC) -g -Wall -Wshadow xdelta3.c -o xdelta3-64 -DXD3_POSIX=1 -DXD3_MAIN=1 -DREGRESSION_TEST=1 \ |
160 |
-DXD3_DEBUG=0 -DXD3_USE_LARGEFILE64=1 -lm |
161 |
|
162 |
xdelta3-64-O: $(SOURCES) |
163 |
$(CC) -O2 -Wall -Wshadow xdelta3.c -o xdelta3-64-O -DXD3_POSIX=1 -DXD3_MAIN=1 \ |
164 |
-DXD3_USE_LARGEFILE64=1 -lm |
165 |
|
166 |
xdelta3-everything: $(SOURCES) |
167 |
$(CC) -g -Wall -Wshadow xdelta3.c -o xdelta3-everything \ |
168 |
-DXD3_MAIN=1 -DVCDIFF_TOOLS=1 -DREGRESSION_TEST=1 \ |
169 |
-DSECONDARY_FGK=1 -DSECONDARY_DJW=1 \ |
170 |
-DGENERIC_ENCODE_TABLES=1 \ |
171 |
-DGENERIC_ENCODE_TABLES_COMPUTE=1 \ |
172 |
-DXD3_POSIX=1 \ |
173 |
-DEXTERNAL_COMPRESSION=1 \ |
174 |
-DXD3_DEBUG=1 -lm |
175 |
|
176 |
xdelta3-tune: $(SOURCES) |
177 |
$(CC) -O2 -Wall -Wshadow xdelta3.c -o xdelta3-tune -DXD3_MAIN=1 \ |
178 |
-DSECONDARY_FGK=1 -DSECONDARY_DJW=1 -DTUNE_HUFFMAN=1 |
179 |
|
180 |
xdelta3-Opg: $(SOURCES) |
181 |
$(CC) -pg -g -O -Wall -Wshadow xdelta3.c -o xdelta3-Opg -DXD3_MAIN=1 \ |
182 |
-DSECONDARY_DJW=1 -DXD3_POSIX=1 -DXD3_USE_LARGEFILE64=1 |
183 |
|
184 |
xdelta3-nosec.o: $(SOURCES) |
185 |
$(CC) -O2 -Wall -Wshadow -c xdelta3.c -DSECONDARY_FGK=0 -DSECONDARY_DJW=0 -o xdelta3-nosec.o |
186 |
|
187 |
xdelta3-all.o: $(SOURCES) |
188 |
$(CC) -O2 -Wall -Wshadow -c xdelta3.c -DSECONDARY_FGK=1 -DSECONDARY_DJW=1 -o xdelta3-all.o |
189 |
|
190 |
xdelta3-fgk.o: $(SOURCES) |
191 |
$(CC) -O2 -Wall -Wshadow -c xdelta3.c -DSECONDARY_FGK=1 -DSECONDARY_DJW=0 -o xdelta3-fgk.o |
192 |
|
193 |
xdelta3-noext: $(SOURCES) |
194 |
$(CC) -O2 -Wall -Wshadow xdelta3.c -DXD3_MAIN=1 -DEXTERNAL_COMPRESSION=0 -o xdelta3-noext |
195 |
|
196 |
xdelta3-tools: $(SOURCES) |
197 |
$(CC) -O2 -Wall -Wshadow xdelta3.c -DXD3_MAIN=1 -o xdelta3-tools |
198 |
|
199 |
xdelta3-notools: $(SOURCES) |
200 |
$(CC) -O2 -Wall -Wshadow xdelta3.c -DXD3_MAIN=1 -DVCDIFF_TOOLS=0 -o xdelta3-notools |