X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=utils%2FMakefile;h=a00fa134bc04ced4e99c1914c942c0017a78cfb8;hp=5c1ee41ed498396529ca2bf2479a7fbeb755c0bb;hb=HEAD;hpb=afa20b9f76da4dfb1a0759ffdbedf61933f7d139 diff --git a/utils/Makefile b/utils/Makefile index 5c1ee41..a00fa13 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -1,10 +1,9 @@ #Makefile for mkyaffs # # NB this is not yet suitable for putting into the kernel tree. -# YAFFS: Yet another FFS. A NAND-flash specific file system. +# YAFFS: Yet another Flash File System. A NAND-flash specific file system. # -# Copyright (C) 2002 Aleph One Ltd. -# for Toby Churchill Ltd and Brightstar Engineering +# Copyright (C) 2002-2018 Aleph One Ltd. # # Created by Charles Manning # @@ -16,7 +15,7 @@ #KERNELDIR = /usr/src/kernel-headers-2.4.18 -CFLAGS = -I/usr/include -I.. -O2 -Wall -DCONFIG_YAFFS_UTIL +CFLAGS = -O2 -Wall -Werror -DCONFIG_YAFFS_UTIL CFLAGS+= -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations CFLAGS+= -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Winline @@ -25,22 +24,43 @@ MAKETOOLS = CC=$(MAKETOOLS)gcc -MKYAFFS2SOURCES = mkyaffs2image.c -MKYAFFS2LINKS = yaffs_ecc.c yaffs_packedtags2.c yaffs_tagsvalidity.c +COMMON_BASE_C_LINKS = yaffs_ecc.c +COMMON_BASE_LINKS = $(COMMON_BASE_C_LINKS) yaffs_ecc.h yaffs_guts.h yaffs_packedtags2.h yaffs_trace.h yaffs_endian.h +COMMON_DIRECT_C_LINKS = yaffs_hweight.c +COMMON_C_LINKS = $(COMMON_DIRECT_C_LINKS) $(COMMON_BASE_C_LINKS) +COMMON_DIRECT_LINKS= $(COMMON_DIRECT_C_LINKS) yportenv.h yaffs_hweight.h yaffs_list.h +COMMONOBJS = $(COMMON_C_LINKS:.c=.o) + +MKYAFFSSOURCES = mkyaffsimage.c +MKYAFFSIMAGEOBJS = $(MKYAFFSSOURCES:.c=.o) +MKYAFFS2SOURCES = mkyaffs2image.c +MKYAFFS2LINKS = yaffs_packedtags2.c MKYAFFS2IMAGEOBJS = $(MKYAFFS2SOURCES:.c=.o) $(MKYAFFS2LINKS:.c=.o) -all: mkyaffs2image +BASE_LINKS = $(MKYAFFSLINKS) $(MKYAFFS2LINKS) $(COMMON_BASE_LINKS) +DIRECT_LINKS = $(MKYAFFS_DIRECT_LINKS) $(MKYAFFS2_DIRECT_LINKS) $(COMMON_DIRECT_LINKS) +ALL_LINKS = $(BASE_LINKS) $(DIRECT_LINKS) -$(MKYAFFS2IMAGEOBJS): %.o: %.c +all: mkyaffsimage mkyaffs2image + +$(BASE_LINKS): + ln -s ../$@ $@ + +$(DIRECT_LINKS): + ln -s ../direct/$@ $@ + +$(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) : $(ALL_LINKS) Makefile + +$(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) : %.o: %.c $(CC) -c $(CFLAGS) $< -o $@ -mkyaffs2image: $(MKYAFFS2IMAGEOBJS) - $(CC) -o $@ $(MKYAFFS2IMAGEOBJS) +mkyaffsimage: $(MKYAFFSIMAGEOBJS) $(COMMONOBJS) + $(CC) -o $@ $^ -$(MKYAFFS2LINKS): - ln -s ../$@ $@ +mkyaffs2image: $(MKYAFFS2IMAGEOBJS) $(COMMONOBJS) + $(CC) -o $@ $^ clean: - rm -f $(MKYAFFS2IMAGEOBJS) core + rm -f $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) $(ALL_LINKS) mkyaffsimage mkyaffs2image core