tizen 2.4 release
[external/xdelta3.git] / Makefile.orig
1 # xdelta 3 - delta compression tools and library
2 # Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007.  Joshua P. MacDonald
3
4 UNAME = $(shell uname)
5 CYGWIN = $(findstring CYGWIN, $(UNAME))
6 DARWIN = $(findstring Darwin, $(UNAME))
7 PYVER = 2.6
8
9 ifeq ("$(CYGWIN)", "")
10 SWIGTGT = xdelta3module.so
11 PYTGT = build/lib.macosx-10.6-universal-2.6/xdelta3main.so
12 else
13 SWIGTGT = xdelta3module.dll
14 PYTGT = build/lib.cygwin-1.5.24-i686-$(PYVER)/xdelta3main.dll
15 endif
16
17 SOURCES = xdelta3-blkcache.h \
18           xdelta3-cfgs.h \
19           xdelta3-decode.h \
20           xdelta3-djw.h \
21           xdelta3-fgk.h \
22           xdelta3-hash.h \
23           xdelta3-list.h \
24           xdelta3-main.h \
25           xdelta3-merge.h \
26           xdelta3-python.h \
27           xdelta3-second.h \
28           xdelta3-test.h \
29           xdelta3.c \
30           xdelta3.h
31
32 TARGETS = xdelta3-debug \
33           xdelta3-debug32 \
34           xdelta3-debug64 \
35           xdelta3 \
36           xdelta3-debug2 \
37           xdelta3-debugstdio \
38           xdelta3.o \
39           xdelta3_wrap.o \
40           xdelta3-32 \
41           xdelta3-64 \
42           xdelta3-everything \
43           xdelta3-Opg \
44           xdelta3-64-O \
45           xdelta3-Op \
46           xdelta3-decoder xdelta3-decoder-nomain.o \
47           xdelta3-nosec.o xdelta3-all.o xdelta3-fgk.o \
48           xdelta3-noext xdelta3-tools \
49           xdelta3-notools \
50           xdelta3_wrap.c xdelta3.py \
51           $(PYTGT) $(SWIGTGT) \
52           xdelta3-warnings
53
54 PYTHON = python
55
56 WIXDIR = "/cygdrive/c/Program Files/wix2.0.4820"
57
58 CFLAGS= -Wall -Wshadow -fno-builtin
59 WFLAGS= -Wextra -Wsign-compare -Wconversion -Wextra -Wno-unused-parameter
60
61 # $Format: "REL=$Xdelta3Version$" $
62 REL=3.0.1
63
64 RELDIR = xdelta$(REL)
65
66 EXTRA = Makefile COPYING linkxd3lib.c badcopy.c xdelta3.swig \
67         draft-korn-vcdiff.txt xdelta3.vcproj badcopy.vcproj \
68         testing/xdelta3-regtest.py xdelta3-test.py setup.py \
69         examples/Makefile examples/small_page_test.c \
70         examples/README examples/encode_decode_test.c \
71         examples/compare_test.c examples/speed_test.c \
72         examples/test.h examples/checksum_test.cc \
73         xdelta3.py xdelta3_wrap.c xdelta3.wxs xdelta3.wxi \
74         testing/cmp.h testing/delta.h testing/file.h \
75         testing/modify.h testing/random.h testing/segment.h \
76         testing/sizes.h testing/test.h testing/Makefile \
77         testing/regtest.cc README readme.txt xdelta3.1
78
79 SWIG_FLAGS = -DXD3_DEBUG=1 \
80               -DEXTERNAL_COMPRESSION=0 \
81               -DXD3_USE_LARGEFILE64=1 \
82               -DSECONDARY_DJW=1 \
83               -DVCDIFF_TOOLS=1 \
84               -DSWIG_MODULE=1
85
86 all: xdelta3-debug32 xdelta3-debug64 xdelta3-debug2 xdelta3
87         (cd testing && make)
88
89 all-py: all $(PYTGT) $(SWIGTGT)
90
91 all-targets: $(TARGETS)
92
93 all-targets-test: all-targets test
94
95 pytgt: $(PYTGT)
96 swigtgt: $(SWIGTGT)
97
98 test:
99         ./xdelta3-debug test
100
101 tar:
102         tar --exclude ".svn" -czf /tmp/$(RELDIR)-tmp.tar.gz $(SOURCES) $(EXTRA)
103         rm -rf /tmp/$(RELDIR)
104         mkdir /tmp/$(RELDIR)
105         (cd /tmp/$(RELDIR) && tar -xzf ../$(RELDIR)-tmp.tar.gz)
106         tar -czf ./$(RELDIR).tar.gz -C /tmp $(RELDIR)
107         +tar -tzf ./$(RELDIR).tar.gz
108         rm -rf /tmp/$(RELDIR)
109
110 zip:
111         tar --exclude ".svn" -czf /tmp/$(RELDIR)-tmp.tar.gz $(SOURCES) $(EXTRA)
112         rm -rf /tmp/$(RELDIR)
113         mkdir /tmp/$(RELDIR)
114         (cd /tmp/$(RELDIR) && tar -xzf ../$(RELDIR)-tmp.tar.gz)
115         tar -czf ./$(RELDIR).tar.gz -C /tmp $(RELDIR)
116         +zip -r $(RELDIR).zip /tmp/$(RELDIR)
117         rm -rf /tmp/$(RELDIR)
118
119 clean:
120         rm -f $(TARGETS)
121         rm -rf build Debug Release core cifs* *.stackdump *.exe *~ *.dSYM \
122                 xdelta3.ncb xdelta3.suo xdelta3.sln xdelta3.wixobj xdelta3.msi
123
124 wix: xdelta3.wxs xdelta3.wxi readme.txt Release\xdelta3.exe
125         $(WIXDIR)/candle.exe xdelta3.wxs -out xdelta3.wixobj
126         $(WIXDIR)/light.exe xdelta3.wixobj -out xdelta3.msi
127
128 xdelta3: $(SOURCES)
129         $(CC) $(CFLAGS) -O3 xdelta3.c -lm -o xdelta3 \
130               -DREGRESSION_TEST=1 \
131               -DSECONDARY_DJW=1 \
132               -DSECONDARY_FGK=1 \
133               -DXD3_DEBUG=0 \
134               -DXD3_MAIN=1 \
135               -DXD3_POSIX=1 \
136               -DXD3_USE_LARGEFILE64=1
137
138 xdelta3-debug32: $(SOURCES)
139         $(CC) -g $(CFLAGS) xdelta3.c -lm -o xdelta3-debug32 \
140                 -arch i386 \
141                 -DREGRESSION_TEST=1 \
142                 -DSECONDARY_DJW=1 \
143                 -DSECONDARY_FGK=1 \
144                 -DXD3_DEBUG=1 \
145                 -DXD3_MAIN=1 \
146                 -DXD3_POSIX=1 \
147                 -DXD3_USE_LARGEFILE64=1
148
149 xdelta3-debug64: $(SOURCES)
150         $(CC) -g $(CFLAGS) xdelta3.c -lm -o xdelta3-debug64 \
151                 -arch x86_64 \
152                 -DREGRESSION_TEST=1 \
153                 -DSECONDARY_DJW=1 \
154                 -DSECONDARY_FGK=1 \
155                 -DXD3_DEBUG=1 \
156                 -DXD3_MAIN=1 \
157                 -DXD3_POSIX=1 \
158                 -DXD3_USE_LARGEFILE64=1
159
160 xdelta3-warnings: $(SOURCES)
161         $(CC) -g $(CFLAGS) $(WFLAGS) xdelta3.c -lm -o xdelta3-warnings \
162                 -DREGRESSION_TEST=1 \
163                 -DSECONDARY_DJW=1 \
164                 -DSECONDARY_FGK=1 \
165                 -DXD3_DEBUG=1 \
166                 -DXD3_MAIN=1 \
167                 -DXD3_STDIO=1 \
168                 -DXD3_USE_LARGEFILE64=1
169
170 xdelta3-32: $(SOURCES)
171         $(CC) -g $(CFLAGS) xdelta3.c -lm -o xdelta3-32 \
172               -DXD3_DEBUG=1 \
173               -DXD3_USE_LARGEFILE64=0 \
174               -DREGRESSION_TEST=1 \
175               -DSECONDARY_DJW=1 \
176               -DSECONDARY_FGK=1 \
177               -DXD3_MAIN=1 \
178               -DXD3_POSIX=1
179
180 xdelta3-debug2: $(SOURCES)
181         $(CC) -g $(CFLAGS) \
182                 xdelta3.c -o xdelta3-debug2 \
183                 -DXD3_DEBUG=2 \
184                 -DXD3_MAIN=1 \
185                 -DXD3_POSIX=1 \
186                 -DXD3_USE_LARGEFILE64=1 \
187                 -DREGRESSION_TEST=1 \
188                 -DSECONDARY_DJW=1 \
189                 -DSECONDARY_FGK=1 \
190                 -lm
191
192 xdelta3-debugstdio: $(SOURCES)
193         $(CC) -g $(CFLAGS) xdelta3.c -o xdelta3-debugstdio \
194                 -DXD3_MAIN=1 \
195                 -DXD3_USE_LARGEFILE64=1 \
196                 -DXD3_STDIO=1 \
197                 -DREGRESSION_TEST=1 \
198                 -DXD3_DEBUG=1 \
199                 -DSECONDARY_DJW=1 \
200                 -DSECONDARY_FGK=1 \
201                 -lm
202
203 $(PYTGT): $(SOURCES) setup.py
204         $(PYTHON) setup.py install --verbose --compile --force
205
206 xdelta3_wrap.c xdelta3.py: xdelta3.swig
207         swig -python xdelta3.swig
208
209 xdelta3.o: $(SOURCES)
210         $(CC) -O3 $(CFLAGS) -c xdelta3.c $(SWIG_FLAGS) -o xdelta3.o
211
212 xdelta3_wrap.o: xdelta3_wrap.c
213         $(CC) -O3 $(CFLAGS) $(SWIG_FLAGS) \
214               -DHAVE_CONFIG_H \
215               -I/usr/include/python$(PYVER) \
216               -I/usr/lib/python$(PYVER)/config \
217               -fpic \
218               -c xdelta3_wrap.c
219
220 xdelta3module.dll: xdelta3_wrap.o xdelta3.o
221         gcc -shared -Wl,--enable-auto-image-base \
222                 xdelta3.o \
223                 xdelta3_wrap.o \
224                 -L/usr/lib/python$(PYVER)/config \
225                 -lpython$(PYVER) \
226                 -o xdelta3module.dll
227         cp $(SWIGTGT) /usr/lib/python$(PYVER)/site-packages
228
229 ifeq ("$(DARWIN)", "")
230 xdelta3module.so: xdelta3_wrap.o xdelta3.o
231         ld -shared xdelta3.o xdelta3_wrap.o \
232                 -o xdelta3module.so \
233                 /usr/lib/libpython$(PYVER).so \
234                 -lc
235 else
236 xdelta3module.so: xdelta3_wrap.o xdelta3.o
237         gcc-4.2 -Wl,-F. -bundle -undefined dynamic_lookup \
238                 -arch x86_64 $(CFLAGS) \
239                 xdelta3.o xdelta3_wrap.o -o xdelta3module.so
240         cp xdelta3module.so /Library/Python/2.6/site-packages
241 endif
242
243 xdelta3-decoder: $(SOURCES)
244         $(CC) -O3 -Wall -Wshadow xdelta3.c \
245             -DXD3_ENCODER=0 -DXD3_MAIN=1 -DSECONDARY_FGK=0 -DSECONDARY_DJW=0 \
246             -DXD3_STDIO=1 -DEXTERNAL_COMPRESSION=0 -DVCDIFF_TOOLS=0 \
247             -o xdelta3-decoder
248
249 xdelta3-decoder-nomain.o: $(SOURCES) linkxd3lib.c
250         $(CC) -O3 -Wall -Wshadow xdelta3.c linkxd3lib.c \
251             -DXD3_ENCODER=0 -DSECONDARY_FGK=0 -DSECONDARY_DJW=0 \
252             -o xdelta3-decoder-nomain.o
253         strip xdelta3-decoder-nomain.o
254
255 xdelta3-O++: $(SOURCES)
256         $(CXX) -g -O3 $(CFLAGS) xdelta3.c \
257                 -o xdelta3-O++ \
258                 -DXD3_MAIN=1 \
259                 -DSECONDARY_DJW=1 \
260                 -DREGRESSION_TEST=1 \
261                 -lm
262
263 xdelta3-Op: $(SOURCES)
264         $(CC) -g -O3 $(CFLAGS) xdelta3.c \
265                 -o xdelta3-Op \
266                 -DXD3_POSIX=1 \
267                 -DXD3_MAIN=1 \
268                 -DREGRESSION_TEST=1 \
269                 -lm
270
271 xdelta3-64: $(SOURCES)
272         $(CC) -g $(CFLAGS) \
273                 xdelta3.c \
274                 -o xdelta3-64 \
275                 -DXD3_POSIX=1 \
276                 -DXD3_MAIN=1 \
277                 -DREGRESSION_TEST=1 \
278                 -DXD3_DEBUG=0 \
279                 -DXD3_USE_LARGEFILE64=1 \
280                 -lm
281
282 xdelta3-64-O: $(SOURCES)
283         $(CC) -O3 $(CFLAGS) \
284                 xdelta3.c \
285                 -o xdelta3-64-O \
286                 -DXD3_POSIX=1 \
287                 -DXD3_MAIN=1 \
288                 -DXD3_USE_LARGEFILE64=1 \
289                 -lm
290
291 xdelta3-everything: $(SOURCES)
292         $(CC) -g $(CFLAGS) \
293                 xdelta3.c \
294                 -o xdelta3-everything \
295                 -DXD3_MAIN=1 \
296                 -DVCDIFF_TOOLS=1 \
297                 -DREGRESSION_TEST=1 \
298                 -DSECONDARY_FGK=1 \
299                 -DSECONDARY_DJW=1 \
300                 -DXD3_POSIX=1 \
301                 -DEXTERNAL_COMPRESSION=1 \
302                 -DXD3_DEBUG=1 \
303                 -lm
304
305 xdelta3-Opg: $(SOURCES)
306         $(CC) -pg -g -O3 $(CFLAGS) \
307                 xdelta3.c \
308                 -o xdelta3-Opg \
309                 -DXD3_MAIN=1 \
310                 -DSECONDARY_DJW=1 \
311                 -DSECONDARY_FGK=1 \
312                 -DXD3_POSIX=1 \
313                 -DXD3_USE_LARGEFILE64=1 \
314                 -DREGRESSION_TEST=1
315
316 xdelta3-nosec.o: $(SOURCES)
317         $(CC) -O3 $(CFLAGS) -c xdelta3.c -DSECONDARY_FGK=0 -DSECONDARY_DJW=0 -o xdelta3-nosec.o
318
319 xdelta3-all.o: $(SOURCES)
320         $(CC) -O3 $(CFLAGS) -c xdelta3.c -DSECONDARY_FGK=1 -DSECONDARY_DJW=1 -o xdelta3-all.o
321
322 xdelta3-fgk.o: $(SOURCES)
323         $(CC) -O3 $(CFLAGS) -c xdelta3.c -DSECONDARY_FGK=1 -DSECONDARY_DJW=0 -o xdelta3-fgk.o
324
325 xdelta3-noext: $(SOURCES)
326         $(CC) -O3 $(CFLAGS) xdelta3.c -DXD3_MAIN=1 -DEXTERNAL_COMPRESSION=0 -o xdelta3-noext
327
328 xdelta3-tools: $(SOURCES)
329         $(CC) -O3 $(CFLAGS) xdelta3.c -DXD3_MAIN=1 -o xdelta3-tools
330
331 xdelta3-notools: $(SOURCES)
332         $(CC) -O3 $(CFLAGS) xdelta3.c -DXD3_MAIN=1 -DVCDIFF_TOOLS=0 -o xdelta3-notools