blob: ed307c1eae0eadb1a9f5e0c44e64893bb7346e46 [file] [log] [blame]
Mike Frysingerd89e5e62005-04-24 05:15:12 +00001# Makefile for busybox
2#
3# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
4#
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18#
19
20E2FSPROGS_AR:=e2fsprogs.a
Rob Landleye1d96332005-08-24 00:41:52 +000021
Mike Frysingerd89e5e62005-04-24 05:15:12 +000022E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs/
Rob Landleye1d96332005-08-24 00:41:52 +000023
Mike Frysingerd89e5e62005-04-24 05:15:12 +000024srcdir=$(top_srcdir)/e2fsprogs
25
Rob Landleye1d96332005-08-24 00:41:52 +000026E2FSPROGS_CFLAGS := -I$(srcdir) -include $(srcdir)/e2fsbb.h
Eric Andersen9cc7f322005-05-11 23:20:09 +000027
Mike Frysinger174808c2005-06-11 01:14:09 +000028BLKID_SRC := cache.c dev.c devname.c devno.c getsize.c llseek.c probe.c \
Mike Frysinger6447ac02005-06-11 05:29:40 +000029 read.c resolve.c save.c tag.c resolve.c
Mike Frysinger174808c2005-06-11 01:14:09 +000030BLKID_SRCS := $(patsubst %,blkid/%, $(BLKID_SRC))
31BLKID_OBJS := $(patsubst %.c,%.o, $(BLKID_SRCS))
32
33E2P_SRC := fgetsetflags.c fgetsetversion.c pf.c iod.c mntopts.c \
Mike Frysinger6447ac02005-06-11 05:29:40 +000034 feature.c ls.c uuid.c pe.c ostype.c ps.c hashstr.c \
35 parse_num.c
Mike Frysingerf3d28842005-06-11 00:27:50 +000036E2P_SRCS := $(patsubst %,e2p/%, $(E2P_SRC))
37E2P_OBJS := $(patsubst %.c,%.o, $(E2P_SRCS))
Eric Andersen9cc7f322005-05-11 23:20:09 +000038
Mike Frysinger174808c2005-06-11 01:14:09 +000039EXT2FS_SRC := gen_bitmap.c bitops.c ismounted.c mkjournal.c unix_io.c \
40 llseek.c rw_bitmaps.c initialize.c bitmaps.c block.c \
41 ind_block.c inode.c freefs.c alloc_stats.c closefs.c \
Mike Frysinger6447ac02005-06-11 05:29:40 +000042 openfs.c io_manager.c finddev.c read_bb.c alloc.c badblocks.c \
43 getsize.c getsectsize.c alloc_tables.c read_bb_file.c mkdir.c \
44 bb_inode.c newdir.c alloc_sb.c lookup.c dirblock.c expanddir.c \
45 dir_iterate.c link.c res_gdt.c
Mike Frysinger174808c2005-06-11 01:14:09 +000046EXT2FS_SRCS := $(patsubst %,ext2fs/%, $(EXT2FS_SRC))
47EXT2FS_OBJS := $(patsubst %.c,%.o, $(EXT2FS_SRCS))
48
49UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \
50 uuid_time.c
51UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC))
52UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS))
53
Mike Frysingerd89e5e62005-04-24 05:15:12 +000054E2FSPROGS-:=
Mike Frysinger174808c2005-06-11 01:14:09 +000055E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS)
56E2FSPROGS-$(CONFIG_LSATTR) += lsattr.o $(E2P_OBJS)
Mike Frysinger6447ac02005-06-11 05:29:40 +000057E2FSPROGS-$(CONFIG_MKE2FS) += mke2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
Mike Frysinger174808c2005-06-11 01:14:09 +000058E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
Mike Frysingerd89e5e62005-04-24 05:15:12 +000059
60libraries-y+=$(E2FSPROGS_DIR)$(E2FSPROGS_AR)
61
Eric Andersen9cc7f322005-05-11 23:20:09 +000062
Mike Frysingerd89e5e62005-04-24 05:15:12 +000063$(E2FSPROGS_DIR)$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)%, $(E2FSPROGS-y))
Mike Frysinger4d008962005-07-27 01:09:24 +000064 $(AR) $(ARFLAGS) $@ $(patsubst %,$(E2FSPROGS_DIR)%, $(E2FSPROGS-y))
Mike Frysingerd89e5e62005-04-24 05:15:12 +000065
Rob Landleye1d96332005-08-24 00:41:52 +000066# for e2p/*: check if the dir exists, dude
Mike Frysingerd89e5e62005-04-24 05:15:12 +000067$(E2FSPROGS_DIR)%.o: $(srcdir)/%.c
Rob Landleye1d96332005-08-24 00:41:52 +000068 @[ -d $(@D) ] || mkdir -v $(@D)
Mike Frysinger7ffce0c2005-06-11 00:45:50 +000069 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(E2FSPROGS_CFLAGS) -c -o $@ $<