aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2004-10-08 07:46:08 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2004-10-08 07:46:08 +0000
commitf6d0a8e7cb47688ed3786894219b373e87ac8a49 (patch)
treee81ce57a92acc0653374e1d262039562855d16ec /libbb
parent5ba0134aa31b2cd9a11772fcd9e39d722347467e (diff)
downloadbusybox-w32-f6d0a8e7cb47688ed3786894219b373e87ac8a49.tar.gz
busybox-w32-f6d0a8e7cb47688ed3786894219b373e87ac8a49.tar.bz2
busybox-w32-f6d0a8e7cb47688ed3786894219b373e87ac8a49.zip
egor duda writes:
Hi! I've created a patch to busybox' build system to allow building it in separate tree in a manner similar to kbuild from kernel version 2.6. That is, one runs command like 'make O=/build/some/where/for/specific/target/and/options' and everything is built in this exact directory, provided that it exists. I understand that applyingc such invasive changes during 'release candidates' stage of development is at best unwise. So, i'm currently asking for comments about this patch, starting from whether such thing is needed at all to whether it coded properly. 'make check' should work now, and one make creates Makefile in build directory, so one can run 'make' in build directory after that. One possible caveat is that if we build in some directory other than source one, the source directory should be 'distclean'ed first. egor git-svn-id: svn://busybox.net/trunk/busybox@9320 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'libbb')
-rw-r--r--libbb/Makefile10
-rw-r--r--libbb/Makefile.in18
2 files changed, 16 insertions, 12 deletions
diff --git a/libbb/Makefile b/libbb/Makefile
index fbcb12330..e94c05260 100644
--- a/libbb/Makefile
+++ b/libbb/Makefile
@@ -17,13 +17,15 @@
17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18# 18#
19 19
20TOPDIR:= ../ 20top_srcdir=..
21top_builddir=..
22srcdir=$(top_srcdir)/libbb
21LIBBB_DIR:=./ 23LIBBB_DIR:=./
22include $(TOPDIR).config 24include $(top_builddir)/Rules.mak
23include $(TOPDIR)Rules.mak 25include $(top_builddir)/.config
24include Makefile.in 26include Makefile.in
25all: $(libraries-y) 27all: $(libraries-y)
26-include $(TOPDIR).depend 28-include $(top_builddir)/.depend
27 29
28clean: 30clean:
29 rm -f *.o *.a $(AR_TARGET) 31 rm -f *.o *.a $(AR_TARGET)
diff --git a/libbb/Makefile.in b/libbb/Makefile.in
index f86664f15..85d4a967b 100644
--- a/libbb/Makefile.in
+++ b/libbb/Makefile.in
@@ -16,12 +16,11 @@
16# along with this program; if not, write to the Free Software 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 17# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18
19
20
21LIBBB_AR:=libbb.a 19LIBBB_AR:=libbb.a
22ifndef $(LIBBB_DIR) 20ifndef $(LIBBB_DIR)
23LIBBB_DIR:=$(TOPDIR)libbb/ 21LIBBB_DIR:=$(top_builddir)/libbb/
24endif 22endif
23srcdir=$(top_srcdir)/libbb
25 24
26LIBBB_SRC:= \ 25LIBBB_SRC:= \
27 bb_asprintf.c ask_confirmation.c change_identity.c chomp.c \ 26 bb_asprintf.c ask_confirmation.c change_identity.c chomp.c \
@@ -51,7 +50,7 @@ LIBBB_SRC:= \
51 50
52LIBBB_OBJS=$(patsubst %.c,$(LIBBB_DIR)%.o, $(LIBBB_SRC)) 51LIBBB_OBJS=$(patsubst %.c,$(LIBBB_DIR)%.o, $(LIBBB_SRC))
53 52
54LIBBB_MSRC0:=$(LIBBB_DIR)messages.c 53LIBBB_MSRC0:=$(srcdir)/messages.c
55LIBBB_MOBJ0:=full_version.o \ 54LIBBB_MOBJ0:=full_version.o \
56 memory_exhausted.o invalid_date.o io_error.o \ 55 memory_exhausted.o invalid_date.o io_error.o \
57 write_error.o name_longer_than_foo.o unknown.o \ 56 write_error.o name_longer_than_foo.o unknown.o \
@@ -60,19 +59,19 @@ LIBBB_MOBJ0:=full_version.o \
60 securetty_file.o motd_file.o \ 59 securetty_file.o motd_file.o \
61 msg_standard_input.o msg_standard_output.o shell_file.o 60 msg_standard_input.o msg_standard_output.o shell_file.o
62 61
63LIBBB_MSRC1:=$(LIBBB_DIR)xfuncs.c 62LIBBB_MSRC1:=$(srcdir)/xfuncs.c
64LIBBB_MOBJ1:=xmalloc.o xrealloc.o xcalloc.o xstrdup.o xstrndup.o \ 63LIBBB_MOBJ1:=xmalloc.o xrealloc.o xcalloc.o xstrdup.o xstrndup.o \
65 xfopen.o xopen.o xread.o xread_all.o xread_char.o \ 64 xfopen.o xopen.o xread.o xread_all.o xread_char.o \
66 xferror.o xferror_stdout.o xfflush_stdout.o strlen.o 65 xferror.o xferror_stdout.o xfflush_stdout.o strlen.o
67 66
68LIBBB_MSRC2:=$(LIBBB_DIR)printf.c 67LIBBB_MSRC2:=$(srcdir)/printf.c
69LIBBB_MOBJ2:=bb_vfprintf.o bb_vprintf.o bb_fprintf.o bb_printf.o 68LIBBB_MOBJ2:=bb_vfprintf.o bb_vprintf.o bb_fprintf.o bb_printf.o
70 69
71LIBBB_MSRC3:=$(LIBBB_DIR)xgetularg.c 70LIBBB_MSRC3:=$(srcdir)/xgetularg.c
72LIBBB_MOBJ3:=xgetularg_bnd_sfx.o xgetlarg_bnd_sfx.o getlarg10_sfx.o \ 71LIBBB_MOBJ3:=xgetularg_bnd_sfx.o xgetlarg_bnd_sfx.o getlarg10_sfx.o \
73 xgetularg_bnd.o xgetularg10_bnd.o xgetularg10.o 72 xgetularg_bnd.o xgetularg10_bnd.o xgetularg10.o
74 73
75LIBBB_MSRC4:=$(LIBBB_DIR)/safe_strtol.c 74LIBBB_MSRC4:=$(srcdir)/safe_strtol.c
76LIBBB_MOBJ4:=safe_strtoi.o safe_strtod.o safe_strtol.o safe_strtoul.o 75LIBBB_MOBJ4:=safe_strtoi.o safe_strtod.o safe_strtol.o safe_strtoul.o
77 76
78LIBBB_MOBJS0=$(patsubst %,$(LIBBB_DIR)%, $(LIBBB_MOBJ0)) 77LIBBB_MOBJS0=$(patsubst %,$(LIBBB_DIR)%, $(LIBBB_MOBJ0))
@@ -88,6 +87,9 @@ $(LIBBB_DIR)$(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \
88 $(AR) -ro $@ $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \ 87 $(AR) -ro $@ $(LIBBB_OBJS) $(LIBBB_MOBJS0) $(LIBBB_MOBJS1) \
89 $(LIBBB_MOBJS2) $(LIBBB_MOBJS3) $(LIBBB_MOBJS4) 88 $(LIBBB_MOBJS2) $(LIBBB_MOBJS3) $(LIBBB_MOBJS4)
90 89
90$(LIBBB_DIR)%.o: $(srcdir)/%.c
91 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
92
91$(LIBBB_MOBJS0): $(LIBBB_MSRC0) 93$(LIBBB_MOBJS0): $(LIBBB_MSRC0)
92 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@ 94 $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
93 95