Fix copyright
[yaffs2.git] / utils / Makefile
1 #Makefile for mkyaffs
2 #
3 # NB this is not yet suitable for putting into the kernel tree.
4 # YAFFS: Yet another Flash File System. A NAND-flash specific file system. 
5 #
6 # Copyright (C) 2002-2018 Aleph One Ltd.
7 #
8 # Created by Charles Manning <charles@aleph1.co.uk>
9 #
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License version 2 as
12 # published by the Free Software Foundation.
13
14 ## Change or override  KERNELDIR to your kernel
15
16 #KERNELDIR = /usr/src/kernel-headers-2.4.18
17
18 CFLAGS =    -O2 -Wall -DCONFIG_YAFFS_UTIL
19 CFLAGS+=   -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-declarations
20 CFLAGS+=   -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Winline
21
22 ## Change if you are using a cross-compiler
23 MAKETOOLS = 
24
25 CC=$(MAKETOOLS)gcc
26
27 COMMON_BASE_C_LINKS = yaffs_ecc.c
28 COMMON_BASE_LINKS = $(COMMON_BASE_C_LINKS) yaffs_ecc.h yaffs_guts.h yaffs_packedtags2.h yaffs_trace.h
29 COMMON_DIRECT_C_LINKS = yaffs_hweight.c
30 COMMON_C_LINKS = $(COMMON_DIRECT_C_LINKS) $(COMMON_BASE_C_LINKS)
31 COMMON_DIRECT_LINKS= $(COMMON_DIRECT_C_LINKS) yportenv.h yaffs_hweight.h yaffs_list.h
32 COMMONOBJS = $(COMMON_C_LINKS:.c=.o)
33
34 MKYAFFSSOURCES = mkyaffsimage.c
35 MKYAFFSIMAGEOBJS = $(MKYAFFSSOURCES:.c=.o)
36
37 MKYAFFS2SOURCES = mkyaffs2image.c
38 MKYAFFS2LINKS = yaffs_packedtags2.c
39 MKYAFFS2IMAGEOBJS = $(MKYAFFS2SOURCES:.c=.o) $(MKYAFFS2LINKS:.c=.o)
40
41 BASE_LINKS = $(MKYAFFSLINKS) $(MKYAFFS2LINKS) $(COMMON_BASE_LINKS)
42 DIRECT_LINKS = $(MKYAFFS_DIRECT_LINKS) $(MKYAFFS2_DIRECT_LINKS) $(COMMON_DIRECT_LINKS)
43 ALL_LINKS = $(BASE_LINKS) $(DIRECT_LINKS)
44
45 all: mkyaffsimage mkyaffs2image
46
47 $(BASE_LINKS):
48         ln -s ../$@ $@
49
50 $(DIRECT_LINKS):
51         ln -s ../direct/$@ $@
52
53 $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) : $(ALL_LINKS)
54
55 $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) : %.o: %.c
56         $(CC) -c $(CFLAGS) $< -o $@
57
58 mkyaffsimage: $(MKYAFFSIMAGEOBJS) $(COMMONOBJS)
59         $(CC) -o $@  $^
60
61 mkyaffs2image: $(MKYAFFS2IMAGEOBJS) $(COMMONOBJS)
62         $(CC) -o $@ $^
63
64
65 clean:
66         rm -f $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) $(ALL_LINKS) mkyaffsimage mkyaffs2image core