# Makefile for busybox # # Copyright (C) 1999-2005 by Erik Andersen # # Licensed under the GPL v2, see the file LICENSE in this tarball. srcdir:=$(top_srcdir)/e2fsprogs objdir:=$(top_builddir)/e2fsprogs BLKID_SRC := cache.c dev.c devname.c devno.c blkid_getsize.c \ probe.c read.c resolve.c save.c tag.c BLKID_SRCS := $(patsubst %,blkid/%, $(BLKID_SRC)) BLKID_OBJS := $(patsubst %.c,%.o, $(BLKID_SRCS)) E2P_SRC := fgetsetflags.c fgetsetversion.c pf.c iod.c mntopts.c \ feature.c ls.c uuid.c pe.c ostype.c ps.c hashstr.c \ parse_num.c E2P_SRCS := $(patsubst %,e2p/%, $(E2P_SRC)) E2P_OBJS := $(patsubst %.c,%.o, $(E2P_SRCS)) EXT2FS_SRC := gen_bitmap.c bitops.c ismounted.c mkjournal.c unix_io.c \ rw_bitmaps.c initialize.c bitmaps.c block.c \ ind_block.c inode.c freefs.c alloc_stats.c closefs.c \ openfs.c io_manager.c finddev.c read_bb.c alloc.c badblocks.c \ getsize.c getsectsize.c alloc_tables.c read_bb_file.c mkdir.c \ bb_inode.c newdir.c alloc_sb.c lookup.c dirblock.c expanddir.c \ dir_iterate.c link.c res_gdt.c icount.c get_pathname.c dblist.c \ dirhash.c version.c flushb.c unlink.c check_desc.c valid_blk.c \ ext_attr.c bmap.c dblist_dir.c ext2fs_inline.c swapfs.c EXT2FS_SRCS := $(patsubst %,ext2fs/%, $(EXT2FS_SRC)) EXT2FS_OBJS := $(patsubst %.c,%.o, $(EXT2FS_SRCS)) UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \ uuid_time.c UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC)) UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS)) # for building out-of-tree we need to make sure that the directories to hold # the object tree are created $(patsubst %,$(objdir)/%, blkid e2fsck e2p ext2fs uuid): @mkdir -p "$@" # make sure that the directories are order-only prerequisites. Otherwise we # may have object files created after the timestamp of the directory was # updated which would lead to spurious rebuilds (as some of the dentries # may be older than the dir itself). $(patsubst %,$(objdir)/%,$(BLKID_OBJS)): $(objdir)/blkid/%.o: $(srcdir)/%.c|$(objdir)/blkid $(patsubst %,$(objdir)/%,$(E2FSCK_OBJS)):$(objdir)/e2fsck/%.o:$(srcdir)/%.c|$(objdir)/e2fsck $(patsubst %,$(objdir)/%,$(E2P_OBJS)): $(objdir)/e2p/%.o: $(srcdir)/%.c|$(objdir)/e2p $(patsubst %,$(objdir)/%,$(EXT2FS_OBJS)):$(objdir)/ext2fs/%.o:$(srcdir)/%.c|$(objdir)/ext2fs $(patsubst %,$(objdir)/%,$(UUID_OBJS)): $(objdir)/uuid/%.o: $(srcdir)/%.c|$(objdir)/uuid E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS) E2FSPROGS-$(CONFIG_E2FSCK) += e2fsck.o util.o $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS) E2FSPROGS-$(CONFIG_FSCK) += fsck.o util.o $(BLKID_OBJS) $(UUID_OBJS) E2FSPROGS-$(CONFIG_LSATTR) += lsattr.o $(E2P_OBJS) E2FSPROGS-$(CONFIG_MKE2FS) += mke2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS) E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS) E2FSPROGS-y:=$(sort $(E2FSPROGS-y)) ifneq ($(E2FSPROGS-y),) CFLAGS-e2fsprogs := -include $(srcdir)/e2fsbb.h endif E2FSPROGS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(E2FSPROGS-y)) E2FSPROGS_SRC-a:=$(wildcard $(srcdir)/*.c) $(patsubst %,$(srcdir)/%,$(BLKID_SRCS) $(E2P_SRCS) $(EXT2FS_SRCS) $(UUID_SRCS)) APPLET_SRC-y+=$(E2FSPROGS_SRC-y) APPLET_SRC-a+=$(E2FSPROGS_SRC-a) $(warning FIXME: change .c to include their stuff relative to $(srcdir)) E2FSPROGS_TMP_KLUDGE:=$(patsubst %,-I$(srcdir)/%,blkid e2fsck e2p ext2fs uuid) CFLAGS-blkid=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) CFLAGS-e2fsck=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) CFLAGS-e2p=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) CFLAGS-ext2fs=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) CFLAGS-uuid=$(E2FSPROGS_TMP_KLUDGE) $(CFLAGS-e2fsprogs) APPLETS_DEFINE-y+=$(CFLAGS-e2fsprogs) -I$(srcdir) $(E2FSPROGS_TMP_KLUDGE) APPLETS_DEFINE-a+=$(CFLAGS-e2fsprogs) -I$(srcdir) $(E2FSPROGS_TMP_KLUDGE) e2fsprogs_OBJ:= $(patsubst %,$(objdir)/%,$(E2FSPROGS-y))