+# For tar.mod.
+tar_mod_SOURCES = fs/cpio.c
+CLEANFILES += tar.mod mod-tar.o mod-tar.c pre-tar.o tar_mod-fs_cpio.o und-tar.lst
+ifneq ($(tar_mod_EXPORTS),no)
+CLEANFILES += def-tar.lst
+DEFSYMFILES += def-tar.lst
+endif
+MOSTLYCLEANFILES += tar_mod-fs_cpio.d
+UNDSYMFILES += und-tar.lst
+
+tar.mod: pre-tar.o mod-tar.o $(TARGET_OBJ2ELF)
+ -rm -f $@
+ $(TARGET_CC) $(tar_mod_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS) -Wl,-r,-d -o $@ pre-tar.o mod-tar.o
+ if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi
+ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-tar.o: $(tar_mod_DEPENDENCIES) tar_mod-fs_cpio.o
+ -rm -f $@
+ $(TARGET_CC) $(tar_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ tar_mod-fs_cpio.o
+
+mod-tar.o: mod-tar.c
+ $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(tar_mod_CFLAGS) -c -o $@ $<
+
+mod-tar.c: $(builddir)/moddep.lst $(srcdir)/genmodsrc.sh
+ sh $(srcdir)/genmodsrc.sh 'tar' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(tar_mod_EXPORTS),no)
+def-tar.lst: pre-tar.o
+ $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 tar/' > $@
+endif
+
+und-tar.lst: pre-tar.o
+ echo 'tar' > $@
+ $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+tar_mod-fs_cpio.o: fs/cpio.c $(fs/cpio.c_DEPENDENCIES)
+ $(TARGET_CC) -Ifs -I$(srcdir)/fs $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(tar_mod_CFLAGS) -MD -c -o $@ $<
+-include tar_mod-fs_cpio.d
+
+CLEANFILES += cmd-tar_mod-fs_cpio.lst fs-tar_mod-fs_cpio.lst partmap-tar_mod-fs_cpio.lst
+COMMANDFILES += cmd-tar_mod-fs_cpio.lst
+FSFILES += fs-tar_mod-fs_cpio.lst
+PARTMAPFILES += partmap-tar_mod-fs_cpio.lst
+
+cmd-tar_mod-fs_cpio.lst: fs/cpio.c $(fs/cpio.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Ifs -I$(srcdir)/fs $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(tar_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh tar > $@ || (rm -f $@; exit 1)
+
+fs-tar_mod-fs_cpio.lst: fs/cpio.c $(fs/cpio.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Ifs -I$(srcdir)/fs $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(tar_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh tar > $@ || (rm -f $@; exit 1)
+
+partmap-tar_mod-fs_cpio.lst: fs/cpio.c $(fs/cpio.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Ifs -I$(srcdir)/fs $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(tar_mod_CFLAGS) -E $< | sh $(srcdir)/genpartmaplist.sh tar > $@ || (rm -f $@; exit 1)
+
+
+tar_mod_CFLAGS = $(COMMON_CFLAGS) -DMODE_USTAR
+tar_mod_LDFLAGS = $(COMMON_LDFLAGS)
+