Mercurial > yaffs-ecoscentric
comparison direct/python/Makefile @ 316:b644e5e824f4
Add first cut of python bindings
| author | charles |
|---|---|
| date | Thu, 08 Oct 2009 02:58:52 +0100 |
| parents | |
| children | 0b4bc5c0868e |
comparison
equal
deleted
inserted
replaced
| 309:b21bd2a64496 | 316:b644e5e824f4 |
|---|---|
| 1 # Makefile for YAFFS direct stress tests | |
| 2 # | |
| 3 # | |
| 4 # YAFFS: Yet another Flash File System. A NAND-flash specific file system. | |
| 5 # | |
| 6 # Copyright (C) 2003 Aleph One Ltd. | |
| 7 # | |
| 8 # | |
| 9 # Created by Charles Manning <charles@aleph1.co.uk> | |
| 10 # | |
| 11 # This program is free software; you can redistribute it and/or modify | |
| 12 # it under the terms of the GNU General Public License version 2 as | |
| 13 # published by the Free Software Foundation. | |
| 14 # | |
| 15 # NB Warning this Makefile does not include header dependencies. | |
| 16 # | |
| 17 # $Id$ | |
| 18 | |
| 19 #EXTRA_COMPILE_FLAGS = -DYAFFS_IGNORE_TAGS_ECC | |
| 20 | |
| 21 CFLAGS = -DCONFIG_YAFFS_DIRECT -DCONFIG_YAFFS_SHORT_NAMES_IN_RAM -DCONFIG_YAFFS_YAFFS2 | |
| 22 CFLAGS += -DCONFIG_YAFFS_PROVIDE_DEFS -DCONFIG_YAFFSFS_PROVIDE_VALUES -DNO_Y_INLINE | |
| 23 CFLAGS += -Wall -g $(EXTRA_COMPILE_FLAGS) -Wstrict-aliasing | |
| 24 #CFLAGS += -fno-strict-aliasing | |
| 25 CFLAGS += -O0 | |
| 26 #CFLAGS += -DVALGRIND_TEST | |
| 27 | |
| 28 #CFLAGS+= -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations | |
| 29 #CFLAGS+= -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Winline | |
| 30 | |
| 31 | |
| 32 COMMONTESTOBJS = yaffscfg2k.o yaffs_ecc.o yaffs_fileem.o yaffs_fileem2k.o yaffsfs.o yaffs_guts.o \ | |
| 33 yaffs_packedtags1.o yaffs_ramdisk.o yaffs_ramem2k.o \ | |
| 34 yaffs_tagscompat.o yaffs_packedtags2.o yaffs_tagsvalidity.o yaffs_nand.o \ | |
| 35 yaffs_checkptrw.o yaffs_qsort.o\ | |
| 36 yaffs_norif1.o ynorsim.o | |
| 37 | |
| 38 | |
| 39 YAFFSTESTOBJS = $(COMMONTESTOBJS) yaffs_wrap.o yaffs_swig_helper.o | |
| 40 | |
| 41 | |
| 42 ALLOBJS = $(sort $(YAFFSTESTOBJS)) | |
| 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 \ | |
| 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 \ | |
| 47 yaffs_tagsvalidity.c yaffs_tagsvalidity.h yaffs_checkptrw.h yaffs_checkptrw.c \ | |
| 48 yaffs_qsort.c yaffs_qsort.h | |
| 49 | |
| 50 YAFFSDIRECTSYMLINKS = yaffscfg2k.c yaffs_fileem2k.c yaffsfs.c yaffs_flashif.h yaffs_flashif2.h\ | |
| 51 yaffs_fileem2k.h yaffsfs.h yaffs_malloc.h yaffs_ramdisk.h ydirectenv.h \ | |
| 52 yaffscfg.h yaffs_fileem.c yaffs_flashif.c yaffs_ramdisk.c yaffs_ramem2k.c\ | |
| 53 yaffs_norif1.c yaffs_norif1.h ynorsim.c ynorsim.h \ | |
| 54 yaffs_nandif.c yaffs_nandif.h | |
| 55 | |
| 56 | |
| 57 SYMLINKS = $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS) | |
| 58 | |
| 59 all: _yaffs.so | |
| 60 | |
| 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 | sed -e "s/YCHAR/char/g" | sed -e "s/YUCHAR/unsigned char/g" | sed -e "s/struct yaffs_stat/struct yaffs_stat_struct/g" > $@ | |
| 66 | |
| 67 $(ALLOBJS): %.o: %.c | |
| 68 gcc -c $(CFLAGS) -I/usr/include/python2.6/ -o $@ $< | |
| 69 | |
| 70 | |
| 71 $(YAFFSSYMLINKS): | |
| 72 ln -s ../../$@ $@ | |
| 73 | |
| 74 $(YAFFSDIRECTSYMLINKS): | |
| 75 ln -s ../$@ $@ | |
| 76 | |
| 77 | |
| 78 | |
| 79 _yaffs.so: $(SYMLINKS) yaffs_wrap.c $(ALLOBJS) | |
| 80 gcc -shared $(ALLOBJS) -o $@ | |
| 81 | |
| 82 | |
| 83 | |
| 84 | |
| 85 clean: | |
| 86 rm -f _yaffs.so yaffs.py yaffs.pyc yaffs_wrap.c $(ALLOBJS) core $(YAFFSSYMLINKS) $(YAFFSDIRECTSYMLINKS) | |
| 87 rm -f *.c.* | |
| 88 rm -f yaffsfs_for_swig.h |
