7abe709867
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).
74 lines
3.3 KiB
Makefile
74 lines
3.3 KiB
Makefile
# Makefile for busybox
|
|
#
|
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
#
|
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
|
|
E2FSPROGS_AR:=e2fsprogs.a
|
|
|
|
E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs
|
|
E2FSPROGS_SRC:=$(top_srcdir)/e2fsprogs
|
|
|
|
E2FSPROGS_CFLAGS := -I$(E2FSPROGS_SRC) -include $(E2FSPROGS_SRC)/e2fsbb.h
|
|
|
|
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
|
|
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 %,$(E2FSPROGS_DIR)/%, 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 %,$(E2FSPROGS_DIR)/%, $(BLKID_OBJS)):|$(E2FSPROGS_DIR)/blkid
|
|
$(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSCK_OBJS)):|$(E2FSPROGS_DIR)/e2fsck
|
|
$(patsubst %,$(E2FSPROGS_DIR)/%, $(E2P_OBJS)):|$(E2FSPROGS_DIR)/e2p
|
|
$(patsubst %,$(E2FSPROGS_DIR)/%, $(EXT2FS_OBJS)):|$(E2FSPROGS_DIR)/ext2fs
|
|
$(patsubst %,$(E2FSPROGS_DIR)/%, $(UUID_OBJS)):|$(E2FSPROGS_DIR)/uuid
|
|
|
|
E2FSPROGS-y:=
|
|
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 base_device.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)
|
|
|
|
libraries-y+=$(E2FSPROGS_DIR)/$(E2FSPROGS_AR)
|
|
|
|
|
|
$(E2FSPROGS_DIR)/$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSPROGS-y))
|
|
$(AR) $(ARFLAGS) $@ $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSPROGS-y))
|
|
|
|
$(E2FSPROGS_DIR)/%.o: $(subst $(top_builddir),$(top_srcdir),$(E2FSPROGS_DIR)/%.c)
|
|
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(E2FSPROGS_CFLAGS) -c -o $@ $<
|
|
|