[821] | 1 | # Makefile for busybox
|
---|
| 2 | #
|
---|
| 3 | # Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
---|
| 4 | #
|
---|
| 5 | # Licensed under the GPL v2, see the file LICENSE in this tarball.
|
---|
| 6 |
|
---|
| 7 | E2FSPROGS_AR:=e2fsprogs.a
|
---|
| 8 |
|
---|
| 9 | E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs
|
---|
| 10 | E2FSPROGS_SRC:=$(top_srcdir)/e2fsprogs
|
---|
| 11 |
|
---|
| 12 | E2FSPROGS_CFLAGS := -include $(E2FSPROGS_SRC)/e2fsbb.h
|
---|
| 13 |
|
---|
| 14 | BLKID_SRC := cache.c dev.c devname.c devno.c blkid_getsize.c \
|
---|
| 15 | probe.c read.c resolve.c save.c tag.c
|
---|
| 16 | BLKID_SRCS := $(patsubst %,blkid/%, $(BLKID_SRC))
|
---|
| 17 | BLKID_OBJS := $(patsubst %.c,%.o, $(BLKID_SRCS))
|
---|
| 18 |
|
---|
| 19 | E2P_SRC := fgetsetflags.c fgetsetversion.c pf.c iod.c mntopts.c \
|
---|
| 20 | feature.c ls.c uuid.c pe.c ostype.c ps.c hashstr.c \
|
---|
| 21 | parse_num.c
|
---|
| 22 | E2P_SRCS := $(patsubst %,e2p/%, $(E2P_SRC))
|
---|
| 23 | E2P_OBJS := $(patsubst %.c,%.o, $(E2P_SRCS))
|
---|
| 24 |
|
---|
| 25 | EXT2FS_SRC := gen_bitmap.c bitops.c ismounted.c mkjournal.c unix_io.c \
|
---|
| 26 | rw_bitmaps.c initialize.c bitmaps.c block.c \
|
---|
| 27 | ind_block.c inode.c freefs.c alloc_stats.c closefs.c \
|
---|
| 28 | openfs.c io_manager.c finddev.c read_bb.c alloc.c badblocks.c \
|
---|
| 29 | getsize.c getsectsize.c alloc_tables.c read_bb_file.c mkdir.c \
|
---|
| 30 | bb_inode.c newdir.c alloc_sb.c lookup.c dirblock.c expanddir.c \
|
---|
| 31 | dir_iterate.c link.c res_gdt.c icount.c get_pathname.c dblist.c \
|
---|
| 32 | dirhash.c version.c flushb.c unlink.c check_desc.c valid_blk.c \
|
---|
| 33 | ext_attr.c bmap.c dblist_dir.c ext2fs_inline.c swapfs.c
|
---|
| 34 | EXT2FS_SRCS := $(patsubst %,ext2fs/%, $(EXT2FS_SRC))
|
---|
| 35 | EXT2FS_OBJS := $(patsubst %.c,%.o, $(EXT2FS_SRCS))
|
---|
| 36 |
|
---|
| 37 | UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \
|
---|
| 38 | uuid_time.c
|
---|
| 39 | UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC))
|
---|
| 40 | UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS))
|
---|
| 41 |
|
---|
| 42 | E2FSPROGS-y:=
|
---|
| 43 | E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS)
|
---|
| 44 | E2FSPROGS-$(CONFIG_E2FSCK) += e2fsck.o util.o $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
|
---|
| 45 | E2FSPROGS-$(CONFIG_FSCK) += fsck.o util.o $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
|
---|
| 46 | E2FSPROGS-$(CONFIG_LSATTR) += lsattr.o $(E2P_OBJS)
|
---|
| 47 | E2FSPROGS-$(CONFIG_MKE2FS) += mke2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
|
---|
| 48 | E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
|
---|
| 49 |
|
---|
| 50 | E2FSPROGS-y:=$(sort $(E2FSPROGS-y))
|
---|
| 51 |
|
---|
| 52 | ifneq ($(strip $(E2FSPROGS-y)),)
|
---|
| 53 | libraries-y+=$(E2FSPROGS_DIR)/$(E2FSPROGS_AR)
|
---|
| 54 | endif
|
---|
| 55 |
|
---|
| 56 | E2FSPROGS_SRC-y:=$(patsubst %.o,$(E2FSPROGS_SRC)/%.c,$(E2FSPROGS-y))
|
---|
| 57 | E2FSPROGS_SRC-a:=$(wildcard $(E2FSPROGS_SRC)/*.c) $(patsubst %,$(E2FSPROGS_SRC)/%,$(BLKID_SRCS) $(E2P_SRCS) $(EXT2FS_SRCS) $(UUID_SRCS))
|
---|
| 58 | APPLET_SRC-y+=$(E2FSPROGS_SRC-y)
|
---|
| 59 | APPLET_SRC-a+=$(E2FSPROGS_SRC-a)
|
---|
| 60 |
|
---|
| 61 | # XXX: FIXME: change .c to include their stuff relative to $(E2FSPROGS_SRC)
|
---|
| 62 | E2FSPROGS_TMP_KLUDGE:=$(patsubst %,-I$(E2FSPROGS_SRC)/%,blkid e2fsck e2p ext2fs uuid)
|
---|
| 63 |
|
---|
| 64 | APPLETS_DEFINE-y+=$(E2FSPROGS_CFLAGS) -I$(E2FSPROGS_SRC) $(E2FSPROGS_TMP_KLUDGE)
|
---|
| 65 | APPLETS_DEFINE-a+=$(E2FSPROGS_CFLAGS) -I$(E2FSPROGS_SRC) $(E2FSPROGS_TMP_KLUDGE)
|
---|
| 66 |
|
---|
| 67 | $(E2FSPROGS_DIR)/$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSPROGS-y))
|
---|
| 68 | $(do_ar)
|
---|
| 69 |
|
---|
| 70 | $(E2FSPROGS_DIR)/%.o: $(subst $(top_builddir),$(top_srcdir),$(E2FSPROGS_DIR)/%.c)
|
---|
| 71 | $(compile.c) $(E2FSPROGS_CFLAGS)
|
---|
| 72 |
|
---|
| 73 | # for building out-of-tree we need to make sure that the directories to hold
|
---|
| 74 | # the object tree are created
|
---|
| 75 | $(patsubst %,$(E2FSPROGS_DIR)/%, blkid e2fsck e2p ext2fs uuid):
|
---|
| 76 | @mkdir -p "$@"
|
---|
| 77 |
|
---|
| 78 | # make sure that the directories are order-only prerequisites. Otherwise we
|
---|
| 79 | # may have object files created after the timestamp of the directory was
|
---|
| 80 | # updated which would lead to spurious rebuilds (as some of the dentries
|
---|
| 81 | # may be older than the dir itself).
|
---|
| 82 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(BLKID_OBJS)):|$(E2FSPROGS_DIR)/blkid
|
---|
| 83 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSCK_OBJS)):|$(E2FSPROGS_DIR)/e2fsck
|
---|
| 84 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2P_OBJS)):|$(E2FSPROGS_DIR)/e2p
|
---|
| 85 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(EXT2FS_OBJS)):|$(E2FSPROGS_DIR)/ext2fs
|
---|
| 86 | $(patsubst %,$(E2FSPROGS_DIR)/%, $(UUID_OBJS)):|$(E2FSPROGS_DIR)/uuid
|
---|