source: nikanabo/current/xdelta/diy/Makefile@ 629

Last change on this file since 629 was 185, checked in by geyser, 18 years ago
File size: 6.3 KB
Line 
1# xdelta 3 - delta compression tools and library
2# Copyright (C) 2001, 2003, 2004, 2005, 2006. Joshua P. MacDonald
3
4SOURCES = 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
16TARGETS = 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
36PYTHON = python
37
38SWIGTGT = xdelta3module.so
39#SWIGTGT = xdelta3module.dll
40
41PYTGT = build/lib.linux-i686-2.4/xdelta3main.so
42#PYTGT = build/lib.cygwin-1.5.24-i686-2.4/xdelta3main.dll
43
44EXTRA = 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
50SWIG_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$" $
60REL=0q
61RELDIR = xdelta3$(REL)
62
63all: xdelta3-debug xdelta3
64
65all-py: all $(PYTGT) $(SWIGTGT)
66
67all-targets: $(TARGETS)
68
69all-targets-test: all-targets test
70
71pytgt: $(PYTGT)
72swigtgt: $(SWIGTGT)
73
74test:
75 ./xdelta3-debug test
76
77tar:
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
86clean:
87 rm -f $(TARGETS)
88 rm -rf build Debug Release core cifs* *.stackdump *.exe \
89 xdelta3.ncb xdelta3.suo xdelta3.sln
90
91xdelta3: $(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
101xdelta3-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
105xdelta3-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
109xdelta3-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
116xdelta3_wrap.c xdelta3.py: xdelta3.swig
117 swig -python xdelta3.swig
118
119xdelta3.o: $(SOURCES)
120 $(CC) -g -Wall -Wshadow -c xdelta3.c $(SWIG_FLAGS) -o xdelta3.o
121
122xdelta3_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
130xdelta3module.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
134xdelta3module.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
137xdelta3-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
143xdelta3-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
149xdelta3-32: $(SOURCES)
150 $(CC) -g -O2 -Wall -Wshadow xdelta3.c -o xdelta3-32 -DXD3_MAIN=1 -DSECONDARY_DJW=1 -DREGRESSION_TEST=1 -lm
151
152xdelta3-O++: $(SOURCES)
153 $(CXX) -g -O2 -Wall -Wshadow xdelta3.c -o xdelta3-O++ -DXD3_MAIN=1 -DSECONDARY_DJW=1 -DREGRESSION_TEST=1 -lm
154
155xdelta3-Op: $(SOURCES)
156 $(CC) -g -O2 -Wall -Wshadow xdelta3.c -o xdelta3-Op -DXD3_POSIX=1 -DXD3_MAIN=1 -DREGRESSION_TEST=1 -lm
157
158xdelta3-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
162xdelta3-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
166xdelta3-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
176xdelta3-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
180xdelta3-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
184xdelta3-nosec.o: $(SOURCES)
185 $(CC) -O2 -Wall -Wshadow -c xdelta3.c -DSECONDARY_FGK=0 -DSECONDARY_DJW=0 -o xdelta3-nosec.o
186
187xdelta3-all.o: $(SOURCES)
188 $(CC) -O2 -Wall -Wshadow -c xdelta3.c -DSECONDARY_FGK=1 -DSECONDARY_DJW=1 -o xdelta3-all.o
189
190xdelta3-fgk.o: $(SOURCES)
191 $(CC) -O2 -Wall -Wshadow -c xdelta3.c -DSECONDARY_FGK=1 -DSECONDARY_DJW=0 -o xdelta3-fgk.o
192
193xdelta3-noext: $(SOURCES)
194 $(CC) -O2 -Wall -Wshadow xdelta3.c -DXD3_MAIN=1 -DEXTERNAL_COMPRESSION=0 -o xdelta3-noext
195
196xdelta3-tools: $(SOURCES)
197 $(CC) -O2 -Wall -Wshadow xdelta3.c -DXD3_MAIN=1 -o xdelta3-tools
198
199xdelta3-notools: $(SOURCES)
200 $(CC) -O2 -Wall -Wshadow xdelta3.c -DXD3_MAIN=1 -DVCDIFF_TOOLS=0 -o xdelta3-notools
Note: See TracBrowser for help on using the repository browser.