Whamcloud - gitweb
LU-73 RHEL6 support.
[fs/lustre-release.git] / ldiskfs / ldiskfs / autoMakefile.am
1 modulefs_DATA = ldiskfs$(KMODEXT)
2
3 ldiskfs_linux_headers := $(addprefix linux/,$(subst @BACKFS@,ldiskfs,$(notdir $(linux_headers))))
4
5 $(filter %.c,$(ldiskfs_patched_sources)): sources $(ldiskfs_linux_headers) $(filter %.h,$(ldiskfs_patched_sources))
6
7 ldiskfs_sed_flags = \
8         -e "s/dx_hash_info/@BACKFS@_dx_hash_info/g" \
9         -e "s/dir_private_info/@BACKFS@_dir_private_info/g" \
10         -e "s/DX_HASH/@BACKFSU@_DX_HASH/g" \
11         -e "s/\<reserve_window/@BACKFS@_reserve_window/g" \
12         -e "s/\<rsv_window_add/@BACKFS@_rsv_window_add/g" \
13         -e "s/@BACKFSU@/LDISKFS/g" -e "s/@BACKFS@/ldiskfs/g"
14
15 %.c: linux-stage/fs/@BACKFS@/%.c
16         sed $(strip $(ldiskfs_sed_flags)) $< > $@
17
18 %.h: linux-stage/fs/@BACKFS@/%.h
19         sed $(strip $(ldiskfs_sed_flags)) $< > $@
20
21 linux/ldiskfs%.h: linux-stage/include/linux/@BACKFS@%.h
22         sed $(strip $(ldiskfs_sed_flags)) $< > $@
23
24 series := @top_srcdir@/kernel_patches/series/ldiskfs-$(LDISKFS_SERIES)
25 patches := @top_srcdir@/kernel_patches/patches
26
27 sources: $(backfs_sources) $(backfs_headers) $(linux_headers) $(series) $(trace_headers)
28         rm -rf linux-stage linux sources trace $(ldiskfs_SOURCES)
29         mkdir -p linux-stage/fs/@BACKFS@ linux-stage/include/linux \
30                  linux-stage/include/trace/events
31         cp $(backfs_sources) $(backfs_headers) $(backfs_extra) linux-stage/fs/@BACKFS@
32         if test -n "$(linux_headers)" ; then \
33                 cp $(linux_headers) linux-stage/include/linux; \
34         fi
35         if test -n "$(trace_headers)" ; then \
36                 cp $(trace_headers) linux-stage/include/trace/events; \
37         fi
38 if USE_QUILT
39         ln -s ../$(patches) linux-stage/patches
40         ln -s ../$(series) linux-stage/series
41         cd linux-stage && quilt push -a -q
42 else
43         @echo -n "Applying @BACKFS@ patches:"
44         @cd linux-stage && for i in $$(<../$(series)) ; do \
45                 echo -n " $$i" ; \
46                 patch -s -p1 < ../$(patches)/$$i || exit 1 ; \
47         done
48         @echo
49 endif
50         mkdir -p linux trace/events
51         @echo -n "Replacing '@BACKFS@' with 'ldiskfs':"
52         for i in $(notdir $(backfs_headers) $(backfs_sources)) $(new_sources) ; do \
53                 echo -n " $$i" ; \
54                 sed $(strip $(ldiskfs_sed_flags)) \
55                         linux-stage/fs/@BACKFS@/$$i > $$i ; \
56         done
57         for i in $(subst @BACKFS@,,$(notdir $(backfs_headers))) ; do \
58                 if test -f "@BACKFS@$$i" ; then \
59                         echo -n " @BACKFS@$$i" ; \
60                         mv @BACKFS@$$i ldiskfs$$i ; \
61                 fi ; \
62         done
63         for i in $(subst @BACKFS@,,$(notdir $(linux_headers) $(new_headers))) ; do \
64                 echo -n " @BACKFS@$$i" ; \
65                 sed $(strip $(ldiskfs_sed_flags)) \
66                         linux-stage/include/linux/@BACKFS@$$i \
67                         > linux/ldiskfs$$i ; \
68         done
69         for i in $(subst @BACKFS@,,$(notdir $(trace_headers))) ; do \
70                 echo -n " @BACKFS@$$i"; \
71                 sed $(strip $(ldiskfs_sed_flags)) \
72                         linux-stage/include/trace/events/@BACKFS@$$i \
73                         > trace/events/ldiskfs$$i ; \
74         done
75         sed $(strip $(ldiskfs_sed_flags)) \
76         linux-stage/include/linux/dynlocks.h \
77         > linux/dynlocks.h
78
79
80         @echo
81         touch sources
82
83 foo-check:
84         @echo "ldiskfs_sources: $(ldiskfs_sources)"
85         @echo "ldiskfs_SOURCES: $(ldiskfs_SOURCES)"
86         @echo "ldiskfs_headers: $(ldiskfs_headers)"
87         @echo "ldiskfs_objects: $(ldiskfs_objects)"
88         @echo "ldiskfs_OBJECTS: $(ldiskfs_OBJECTS)"
89         @echo "ldiskfs_LDADD: $(ldiskfs_LDADD)"
90
91 MOSTLYCLEANFILES := @MOSTLYCLEANFILES@ 
92 CLEANFILES = sources $(notdir $(linux_headers) $(backfs_headers) $(backfs_sources) $(new_sources) $(new_headers) $(trace_headers))
93
94 clean: clean-am
95         rm -rf linux linux-stage ldiskfs*.h trace