blob: 196172bcf7ce38c7b7057fdf53202045efdd504e [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
21ifndef $(E2FSPROGS_DIR)
22E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs/
23endif
24srcdir=$(top_srcdir)/e2fsprogs
25
Mike Frysinger7ffce0c2005-06-11 00:45:50 +000026E2FSPROGS_CFLAGS := -I$(E2FSPROGS_DIR) -include $(E2FSPROGS_DIR)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 \
29 read.c resolve.c save.c tag.c
30BLKID_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 \
34 feature.c ls.c uuid.c pe.c ostype.c ps.c hashstr.c
Mike Frysingerf3d28842005-06-11 00:27:50 +000035E2P_SRCS := $(patsubst %,e2p/%, $(E2P_SRC))
36E2P_OBJS := $(patsubst %.c,%.o, $(E2P_SRCS))
Eric Andersen9cc7f322005-05-11 23:20:09 +000037
Mike Frysinger174808c2005-06-11 01:14:09 +000038EXT2FS_SRC := gen_bitmap.c bitops.c ismounted.c mkjournal.c unix_io.c \
39 llseek.c rw_bitmaps.c initialize.c bitmaps.c block.c \
40 ind_block.c inode.c freefs.c alloc_stats.c closefs.c \
41 openfs.c io_manager.c finddev.c read_bb.c alloc.c badblocks.c
42EXT2FS_SRCS := $(patsubst %,ext2fs/%, $(EXT2FS_SRC))
43EXT2FS_OBJS := $(patsubst %.c,%.o, $(EXT2FS_SRCS))
44
45UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \
46 uuid_time.c
47UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC))
48UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS))
49
Mike Frysingerd89e5e62005-04-24 05:15:12 +000050E2FSPROGS-:=
Mike Frysinger174808c2005-06-11 01:14:09 +000051E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS)
52E2FSPROGS-$(CONFIG_LSATTR) += lsattr.o $(E2P_OBJS)
53E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
Mike Frysingerd89e5e62005-04-24 05:15:12 +000054
55libraries-y+=$(E2FSPROGS_DIR)$(E2FSPROGS_AR)
56
Eric Andersen9cc7f322005-05-11 23:20:09 +000057
Mike Frysingerd89e5e62005-04-24 05:15:12 +000058$(E2FSPROGS_DIR)$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)%, $(E2FSPROGS-y))
59 $(AR) -ro $@ $(patsubst %,$(E2FSPROGS_DIR)%, $(E2FSPROGS-y))
60
61$(E2FSPROGS_DIR)%.o: $(srcdir)/%.c
Mike Frysinger7ffce0c2005-06-11 00:45:50 +000062 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(E2FSPROGS_CFLAGS) -c -o $@ $<