Whamcloud - gitweb
land b_smallfix 20040407_1414:
[fs/lustre-release.git] / lustre / ldiskfs / autoMakefile.am
1 modulefs_DATA = ldiskfs$(KMODEXT)
2 $(modulefs_DATA): sources
3
4 ldiskfs_linux_headers := $(addprefix linux/,$(subst ext3,ldiskfs,$(notdir $(linux_headers))))
5
6 $(filter %.c,$(ldiskfs_sources)): sources $(ldiskfs_linux_headers) $(filter %.h,$(ldiskfs_sources))
7
8 ldiskfs_sed_flags = \
9         -e "s/dx_hash_info/ext3_dx_hash_info/g" \
10         -e "s/dir_private_info/ext3_dir_private_info/g" \
11         -e "s/DX_HASH/EXT3_DX_HASH/g" \
12         -e "s/EXT3/LDISKFS/g" -e "s/ext3/ldiskfs/g"
13
14 %.c: linux-stage/fs/ext3/%.c
15         sed $(strip $(ldiskfs_sed_flags)) $< > $@
16
17 %.h: linux-stage/fs/ext3/%.h
18         sed $(strip $(ldiskfs_sed_flags)) $< > $@
19
20 linux/ldiskfs%.h: linux-stage/include/linux/ext3%.h
21         sed $(strip $(ldiskfs_sed_flags)) $< > $@
22
23 #
24 # FIXME: we need to grab the series in configure somehow
25 # (see bug 1679)
26 #
27 series := @top_srcdir@/kernel_patches/series/ldiskfs-2.6-suse.series
28
29 sources: $(ext3_sources) $(ext3_headers) $(linux_headers) $(series)
30         rm -rf linux-stage linux sources $(ldiskfs_SOURCES)
31         mkdir -p linux-stage/fs/ext3 linux-stage/include/linux
32         cd linux-stage && quilt setup -l ../$(series)
33         cp $(ext3_sources) $(ext3_headers) $(ext3_extra) linux-stage/fs/ext3
34         cp $(linux_headers) linux-stage/include/linux
35         cd linux-stage && quilt push -a -q
36         mkdir linux
37         @echo -n "Replacing 'ext3' with 'ldiskfs':"
38         @for i in $(notdir $(ext3_headers) $(ext3_sources)) $(new_sources) ; do \
39                 echo -n " $$i" ; \
40                 sed $(strip $(ldiskfs_sed_flags)) \
41                         linux-stage/fs/ext3/$$i > $$i ; \
42         done
43         @for i in $(subst ext3,,$(notdir $(linux_headers))) ; do \
44                 echo -n " ext3$$i" ; \
45                 sed $(strip $(ldiskfs_sed_flags)) \
46                         linux-stage/include/linux/ext3$$i \
47                         > linux/ldiskfs$$i ; \
48         done
49         touch sources
50
51 foo-check:
52         @echo "ldiskfs_sources: $(ldiskfs_sources)"
53         @echo "ldiskfs_SOURCES: $(ldiskfs_SOURCES)"
54         @echo "ldiskfs_headers: $(ldiskfs_headers)"
55         @echo "ldiskfs_objects: $(ldiskfs_objects)"
56         @echo "ldiskfs_OBJECTS: $(ldiskfs_OBJECTS)"
57         @echo "ldiskfs_LDADD: $(ldiskfs_LDADD)"
58
59
60 MOSTLYCLEANFILES = *.o *.ko *.mod.c
61 CLEANFILES = $(ldiskfs_sources) sources ldiskfs-dummy.c ldiskfs.mod.c
62
63 clean: clean-am
64         rm -rf linux linux-stage