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

Last change on this file since 185 was 185, checked in by geyser, 14 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.