X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=ldiskfs%2Fldiskfs%2FMakefile.in;h=dd8b7ee49853bbdb1f7b31c6b4d10f52d3c37df5;hp=d70d42b3dfb6c70472c8075115f4b02927a62925;hb=91a4769006f1318bcaddf6ace4344b980f701e05;hpb=0a58dfa79cf6167fa2bfdadbbd24398415289b7f diff --git a/ldiskfs/ldiskfs/Makefile.in b/ldiskfs/ldiskfs/Makefile.in index d70d42b..dd8b7ee 100644 --- a/ldiskfs/ldiskfs/Makefile.in +++ b/ldiskfs/ldiskfs/Makefile.in @@ -1,21 +1,171 @@ -default: all - -MODULES := ldiskfs +all: modules +install: modules_install +distdir: # copy makefile over to not break patches -ext3_extra := $(wildcard @LINUX@/fs/ext3/Makefile) +backfs_extra := $(wildcard @LINUX@/fs/ext4/Makefile) + +backfs_headers := $(wildcard @EXT_DIR@/*.h) +linux_headers := $(wildcard @LINUX@/include/linux/ext4*.h) +linux_new_headers := dynlocks.h +linux_new_headers += htree_lock.h +trace_headers := $(wildcard @LINUX@/include/trace/events/ext4*.h) + +backfs_sources := $(filter-out %.mod.c,$(wildcard @EXT_DIR@/*.c)) + +ext3_new_sources := extents.c mballoc.c group.h dynlocks.c fiemap.h +ext3_new_headers := ext3_extents.h -ext3_headers := $(wildcard @LINUX@/fs/ext3/*.h) -linux_headers := $(wildcard @LINUX@/include/linux/ext3*.h) +ext4_new_sources := dynlocks.c fiemap.h mmp.c +ext4_new_sources += htree_lock.c +ext4_new_headers := -ext3_sources := $(filter-out %.mod.c,$(wildcard @LINUX@/fs/ext3/*.c)) -new_sources := iopen.c iopen.h extents.c mballoc.c group.h fiemap.h -new_headers := ext3_extents.h -ldiskfs_patched_sources := $(notdir $(ext3_sources) $(ext3_headers)) $(new_sources) $(new_headers) +new_sources := $(ext4_new_sources) +new_headers := $(ext4_new_headers) + +ldiskfs_patched_sources := $(notdir $(backfs_sources) $(backfs_headers)) $(new_sources) $(new_headers) ldiskfs_sources := $(ldiskfs_patched_sources) +ldiskfs_obj := $(filter %.o,$(ldiskfs_sources:.c=.o)) + +#--- autoMakefile cut-and-paste start + +ldiskfs_linux_headers := $(addprefix linux/,$(subst ext4,ldiskfs,$(notdir $(linux_headers)))) + +$(filter %.c,$(ldiskfs_patched_sources)): sources $(ldiskfs_linux_headers) $(filter %.h,$(ldiskfs_patched_sources)) + +ldiskfs_sed_flags = \ + -e "s/dx_hash_info/ext4_dx_hash_info/g" \ + -e "s/DX_HASH/EXT4_DX_HASH/g" \ + -e "s/EXT4/LDISKFS/g" -e "s/ext4/ldiskfs/g" + +%.c: linux-stage/fs/ext4/%.c + sed $(strip $(ldiskfs_sed_flags)) $< > $@ + +%.h: linux-stage/fs/ext4/%.h + sed $(strip $(ldiskfs_sed_flags)) $< > $@ + +linux/ldiskfs%.h: linux-stage/include/linux/ext4%.h + sed $(strip $(ldiskfs_sed_flags)) $< > $@ + +series := @top_srcdir@/kernel_patches/series/ldiskfs-@LDISKFS_SERIES@ +patches := @top_srcdir@/kernel_patches/patches + +#install-data-local: sources +# destname=@LDISKFS_META_NAME@-@LDISKFS_META_VERSION@/@LINUX_VERSION@; \ +# instdest=$(DESTDIR)/usr/src/$$destname; \ +# instfiles=$$(find . -name '*.h' | grep -v linux-stage); \ +# for instfile in $$instfiles; do \ +# if [ "$$(dirname $$instfile)" = "." ]; then \ +# /usr/bin/install -c -D $$instfile $$instdest/ldiskfs/$$instfile; \ +# else \ +# /usr/bin/install -c -D $$instfile $$instdest/$$instfile; \ +# fi \ +# done + +############################### +# Kernel Build Infrastructure # +############################### + +EXTRA_CFLAGS += -I@LINUX@/fs -I@LDISKFSDIR@ +EXTRA_CFLAGS += -include @abs_top_builddir@/config.h + +obj-m := ldiskfs.o +ldiskfs-objs := $(ldiskfs_obj) + +modules: sources + $(MAKE) -C @LINUX_OBJ@ M=$(shell pwd) $@ + +clean: + $(MAKE) -C @LINUX_OBJ@ M=$(shell pwd) $@ + if [ -f @LINUX_SYMBOLS@ ]; then $(RM) @LINUX_SYMBOLS@; fi + if [ -f Module.markers ]; then $(RM) Module.markers; fi + +modules_install: + @# Install the kernel modules + $(MAKE) -C @LINUX_OBJ@ M=$(shell pwd) \ + INSTALL_MOD_PATH=$(DESTDIR) \ + INSTALL_MOD_DIR=updates/kernel/fs/lustre-ldiskfs $@ + @# Remove extraneous build products when packaging + if [ -n "$(DESTDIR)" ]; then \ + find $(DESTDIR)/lib/modules/@LINUX_VERSION@ \ + -name 'modules.*' | xargs $(RM); \ + fi + sysmap=$(DESTDIR)/boot/System.map-@LINUX_VERSION@; \ + if [ -f $$sysmap ]; then \ + depmod -ae -F $$sysmap @LINUX_VERSION@; \ + fi + +################################################ +# Patched ldiskfs Sources Build Infrastructure # +################################################ + +sources: $(backfs_sources) $(backfs_headers) $(linux_headers) $(series) $(trace_headers) + rm -rf linux-stage linux sources trace $(ldiskfs_SOURCES) + mkdir -p linux-stage/fs/ext4 linux-stage/include/linux \ + linux-stage/include/trace/events + cp $(backfs_sources) $(backfs_headers) $(backfs_extra) linux-stage/fs/ext4 + if test -n "$(linux_headers)" ; then \ + cp $(linux_headers) linux-stage/include/linux; \ + fi + if test -n "$(trace_headers)" ; then \ + cp $(trace_headers) linux-stage/include/trace/events; \ + fi + +@USE_QUILT_TRUE@ ln -s ../$(patches) linux-stage/patches +@USE_QUILT_TRUE@ ln -s ../$(series) linux-stage/series +@USE_QUILT_TRUE@ cd linux-stage && quilt push -a -q + +@USE_QUILT_FALSE@ @echo -n "Applying ext4 patches:" +@USE_QUILT_FALSE@ @cd linux-stage && for i in $$(<../$(series)) ; do \ +@USE_QUILT_FALSE@ echo -n " $$i" ; \ +@USE_QUILT_FALSE@ patch -s -p1 < ../$(patches)/$$i || exit 1 ; \ +@USE_QUILT_FALSE@ done +@USE_QUILT_FALSE@ @echo + + mkdir -p linux trace/events + @echo -n "Replacing 'ext4' with 'ldiskfs':" + for i in $(notdir $(backfs_headers) $(backfs_sources)) $(new_sources) ; do \ + echo -n " $$i" ; \ + sed $(strip $(ldiskfs_sed_flags)) \ + linux-stage/fs/ext4/$$i > $$i ; \ + done + for i in $(subst ext4,,$(notdir $(backfs_headers))) ; do \ + if test -f "ext4$$i" ; then \ + echo -n " ext4$$i" ; \ + mv ext4$$i ldiskfs$$i ; \ + fi ; \ + done + for i in $(subst ext4,,$(notdir $(linux_headers) $(new_headers))) ; do \ + echo -n " ext4$$i" ; \ + sed $(strip $(ldiskfs_sed_flags)) \ + linux-stage/include/linux/ext4$$i \ + > linux/ldiskfs$$i ; \ + done + for i in $(subst ext4,,$(notdir $(trace_headers))) ; do \ + echo -n " ext4$$i"; \ + sed $(strip $(ldiskfs_sed_flags)) \ + linux-stage/include/trace/events/ext4$$i \ + > trace/events/ldiskfs$$i ; \ + done + for i in $(notdir $(linux_new_headers)) ; do \ + echo -n " $$i"; \ + sed $(strip $(ldiskfs_sed_flags)) \ + linux-stage/include/linux/$$i \ + > linux/$$i ; \ + done + + @echo + touch sources -ldiskfs-objs := $(filter %.o,$(ldiskfs_sources:.c=.o)) +foo-check: + @echo "ldiskfs_sources: $(ldiskfs_sources)" + @echo "ldiskfs_SOURCES: $(ldiskfs_SOURCES)" + @echo "ldiskfs_headers: $(ldiskfs_headers)" + @echo "ldiskfs_objects: $(ldiskfs_objects)" + @echo "ldiskfs_OBJECTS: $(ldiskfs_OBJECTS)" + @echo "ldiskfs_LDADD: $(ldiskfs_LDADD)" -EXTRA_PRE_CFLAGS := -I@LINUX@/fs -I@LDISKFSDIR@ +MOSTLYCLEANFILES := @MOSTLYCLEANFILES@ +CLEANFILES = sources $(notdir $(linux_new_headers) $(linux_headers) $(backfs_headers) $(backfs_sources) $(new_sources) $(new_headers) $(trace_headers)) -@INCLUDE_RULES@ +#--- autoMakefile cut-and-paste end