comparison direct/python/Makefile @ 319:3ef58b114b5e

Change from SWIG to ctypes... much easier
author charles
date Fri, 09 Oct 2009 07:12:26 +0100
parents 0b4bc5c0868e
children e239e0b8c57d
comparison
equal deleted inserted replaced
318:0b4bc5c0868e 319:3ef58b114b5e
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 YAFFSTESTOBJS = $(COMMONTESTOBJS) yaffs_wrap.o yaffs_swig_helper.o 39 YAFFSSWIGOBJS = $(COMMONTESTOBJS) yaffs_wrap.o yaffs_python_helper.o
40 YAFFSLIBOBJS = $(COMMONTESTOBJS) yaffs_python_helper.o
40 41
41 42
42 ALLOBJS = $(sort $(YAFFSTESTOBJS))
43 43
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 \ 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 \
45 yaffs_packedtags1.c yaffs_packedtags1.h yaffs_packedtags2.c yaffs_packedtags2.h yaffs_nandemul2k.h \ 45 yaffs_packedtags1.c yaffs_packedtags1.h yaffs_packedtags2.c yaffs_packedtags2.h yaffs_nandemul2k.h \
46 yaffs_nand.c yaffs_nand.h yaffs_getblockinfo.h \ 46 yaffs_nand.c yaffs_nand.h yaffs_getblockinfo.h \
47 yaffs_tagsvalidity.c yaffs_tagsvalidity.h yaffs_checkptrw.h yaffs_checkptrw.c \ 47 yaffs_tagsvalidity.c yaffs_tagsvalidity.h yaffs_checkptrw.h yaffs_checkptrw.c \
54 yaffs_nandif.c yaffs_nandif.h 54 yaffs_nandif.c yaffs_nandif.h
55 55
56 56
57 SYMLINKS = $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS) 57 SYMLINKS = $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS)
58 58
59 all: _yaffs.so 59 all: _yaffs.so libyaffsfs.so
60 60
61 yaffs_wrap.c: yaffs.i yaffsfs_for_swig.h 61 yaffs_wrap.c: yaffs.i yaffsfs_for_swig.h
62 swig -python yaffs.i 62 swig -python yaffs.i
63 63
64 yaffsfs_for_swig.h: yaffsfs.h 64 yaffsfs_for_swig.h: yaffsfs.h
69 sed -e "s/loff_t/long long/g" | \ 69 sed -e "s/loff_t/long long/g" | \
70 sed -e "s/off_t/long/g" | \ 70 sed -e "s/off_t/long/g" | \
71 sed -e "s/struct yaffs_stat/struct yaffs_stat_struct/g" \ 71 sed -e "s/struct yaffs_stat/struct yaffs_stat_struct/g" \
72 > $@ 72 > $@
73 73
74 $(ALLOBJS): %.o: %.c 74 $(YAFFSLIBOBJS): %.o: %.c
75 gcc -c $(CFLAGS) -o $@ $<
76
77 yaffs_wrap.o: %.o: %.c
75 gcc -c $(CFLAGS) -I/usr/include/python2.6/ -o $@ $< 78 gcc -c $(CFLAGS) -I/usr/include/python2.6/ -o $@ $<
76 79
77 80
78 $(YAFFSSYMLINKS): 81 $(YAFFSSYMLINKS):
79 ln -s ../../$@ $@ 82 ln -s ../../$@ $@
81 $(YAFFSDIRECTSYMLINKS): 84 $(YAFFSDIRECTSYMLINKS):
82 ln -s ../$@ $@ 85 ln -s ../$@ $@
83 86
84 87
85 88
86 _yaffs.so: $(SYMLINKS) yaffs_wrap.c $(ALLOBJS) 89 _yaffs.so: $(SYMLINKS) yaffs_wrap.c $(YAFFSSWIGOBJS)
87 gcc -shared $(ALLOBJS) -o $@ 90 gcc -shared $(YAFFSSWIGOBJS) -o $@
91
92 libyaffsfs.so: $(SYMLINKS) $(YAFFSLIBOBJS)
93 gcc -shared $(YAFFSLIBOBJS) -o $@
88 94
89 95
90 96
91 97
92 clean: 98 clean:
93 rm -f _yaffs.so yaffs.py yaffs.pyc yaffs_wrap.c $(ALLOBJS) core $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS) 99 rm -f _yaffs.so yaffs.py yaffs.pyc yaffs_wrap.c $(YAFFSLIBOBJS) yaffs_wrap.o core $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS)
94 rm -f *.c.* 100 rm -f *.c.*
95 rm -f yaffsfs_for_swig.h 101 rm -f yaffsfs_for_swig.h
102 rm -f libyaffsfs.so
103