comparison direct/python/Makefile @ 320:e239e0b8c57d

Full change over to ctypes
author charles
date Tue, 13 Oct 2009 00:05:49 +0100
parents 3ef58b114b5e
children
comparison
equal deleted inserted replaced
319:3ef58b114b5e 320:e239e0b8c57d
34 yaffs_tagscompat.o yaffs_packedtags2.o yaffs_tagsvalidity.o yaffs_nand.o \ 34 yaffs_tagscompat.o yaffs_packedtags2.o yaffs_tagsvalidity.o yaffs_nand.o \
35 yaffs_checkptrw.o yaffs_qsort.o\ 35 yaffs_checkptrw.o yaffs_qsort.o\
36 yaffs_norif1.o ynorsim.o 36 yaffs_norif1.o ynorsim.o
37 37
38 38
39 YAFFSSWIGOBJS = $(COMMONTESTOBJS) yaffs_wrap.o yaffs_python_helper.o
40 YAFFSLIBOBJS = $(COMMONTESTOBJS) yaffs_python_helper.o 39 YAFFSLIBOBJS = $(COMMONTESTOBJS) yaffs_python_helper.o
41 40
42 41
43 42
44 YAFFSSYMLINKS = devextras.h yaffs_ecc.c yaffs_ecc.h yaffs_guts.c yaffs_guts.h yaffsinterface.h yportenv.h yaffs_tagscompat.c yaffs_tagscompat.h \ 43 YAFFSSYMLINKS = devextras.h yaffs_ecc.c yaffs_ecc.h yaffs_guts.c yaffs_guts.h yaffsinterface.h yportenv.h yaffs_tagscompat.c yaffs_tagscompat.h \
54 yaffs_nandif.c yaffs_nandif.h 53 yaffs_nandif.c yaffs_nandif.h
55 54
56 55
57 SYMLINKS = $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS) 56 SYMLINKS = $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS)
58 57
59 all: _yaffs.so libyaffsfs.so 58 all: libyaffsfs.so
60 59
61 yaffs_wrap.c: yaffs.i yaffsfs_for_swig.h
62 swig -python yaffs.i
63
64 yaffsfs_for_swig.h: yaffsfs.h
65 cat yaffsfs.h | \
66 sed -e "s/YCHAR/char/g" | \
67 sed -e "s/YUCHAR/unsigned char/g" | \
68 sed -e "s/void \*/char \*/g" | \
69 sed -e "s/loff_t/long long/g" | \
70 sed -e "s/off_t/long/g" | \
71 sed -e "s/struct yaffs_stat/struct yaffs_stat_struct/g" \
72 > $@
73 60
74 $(YAFFSLIBOBJS): %.o: %.c 61 $(YAFFSLIBOBJS): %.o: %.c
75 gcc -c $(CFLAGS) -o $@ $< 62 gcc -c $(CFLAGS) -o $@ $<
76
77 yaffs_wrap.o: %.o: %.c
78 gcc -c $(CFLAGS) -I/usr/include/python2.6/ -o $@ $<
79 63
80 64
81 $(YAFFSSYMLINKS): 65 $(YAFFSSYMLINKS):
82 ln -s ../../$@ $@ 66 ln -s ../../$@ $@
83 67
84 $(YAFFSDIRECTSYMLINKS): 68 $(YAFFSDIRECTSYMLINKS):
85 ln -s ../$@ $@ 69 ln -s ../$@ $@
86 70
87 71
88 72
89 _yaffs.so: $(SYMLINKS) yaffs_wrap.c $(YAFFSSWIGOBJS)
90 gcc -shared $(YAFFSSWIGOBJS) -o $@
91
92 libyaffsfs.so: $(SYMLINKS) $(YAFFSLIBOBJS) 73 libyaffsfs.so: $(SYMLINKS) $(YAFFSLIBOBJS)
93 gcc -shared $(YAFFSLIBOBJS) -o $@ 74 gcc -shared $(YAFFSLIBOBJS) -o $@
94 75
95 76
96 77
97 78
98 clean: 79 clean:
99 rm -f _yaffs.so yaffs.py yaffs.pyc yaffs_wrap.c $(YAFFSLIBOBJS) yaffs_wrap.o core $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS) 80 rm -f $(YAFFSLIBOBJS) core $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS)
100 rm -f *.c.*
101 rm -f yaffsfs_for_swig.h
102 rm -f libyaffsfs.so 81 rm -f libyaffsfs.so
103 82