aboutsummaryrefslogtreecommitdiff
path: root/networking
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-10-08 07:46:08 +0000
committerEric Andersen <andersen@codepoet.org>2004-10-08 07:46:08 +0000
commit7daa076d3e24e84ce1f4e9b6133783816575c4c8 (patch)
treee81ce57a92acc0653374e1d262039562855d16ec /networking
parent2842659cc02233274ca165ffb83a31b161d815cd (diff)
downloadbusybox-7daa076d3e24e84ce1f4e9b6133783816575c4c8.tar.gz
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
Diffstat (limited to 'networking')
-rw-r--r--networking/Makefile10
-rw-r--r--networking/Makefile.in7
-rw-r--r--networking/libiproute/Makefile10
-rw-r--r--networking/libiproute/Makefile.in6
-rw-r--r--networking/udhcp/Makefile10
-rw-r--r--networking/udhcp/Makefile.in5
6 files changed, 31 insertions, 17 deletions
diff --git a/networking/Makefile b/networking/Makefile
index 456c433fd..91726b1b2 100644
--- a/networking/Makefile
+++ b/networking/Makefile
@@ -17,13 +17,15 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-TOPDIR:= ../
+top_srcdir=..
+top_builddir=..
+srcdir=$(top_srcdir)/networking
NETWORKING_DIR:=./
-include $(TOPDIR).config
-include $(TOPDIR)Rules.mak
+include $(top_builddir)/Rules.mak
+include $(top_builddir)/.config
include Makefile.in
all: $(libraries-y)
--include $(TOPDIR).depend
+-include $(top_builddir)/.depend
clean:
rm -f *.o *.a $(AR_TARGET)
diff --git a/networking/Makefile.in b/networking/Makefile.in
index e15e61a3e..9bfe90176 100644
--- a/networking/Makefile.in
+++ b/networking/Makefile.in
@@ -19,9 +19,9 @@
NETWORKING_AR:=networking.a
ifndef $(NETWORKING_DIR)
-NETWORKING_DIR:=$(TOPDIR)networking/
+NETWORKING_DIR:=$(top_builddir)/networking/
endif
-
+srcdir=$(top_srcdir)/networking
NETWORKING-y:=
NETWORKING-$(CONFIG_ARPING) += arping.o
NETWORKING-$(CONFIG_FTPGET) += ftpgetput.o
@@ -63,3 +63,6 @@ endif
$(NETWORKING_DIR)$(NETWORKING_AR): $(patsubst %,$(NETWORKING_DIR)%, $(NETWORKING-y))
$(AR) -ro $@ $(patsubst %,$(NETWORKING_DIR)%, $(NETWORKING-y))
+$(NETWORKING_DIR)%.o: $(srcdir)/%.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
+
diff --git a/networking/libiproute/Makefile b/networking/libiproute/Makefile
index 0dc7191d3..d3aefaaf4 100644
--- a/networking/libiproute/Makefile
+++ b/networking/libiproute/Makefile
@@ -17,13 +17,15 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-TOPDIR:= ../../
+top_srcdir=../..
+top_builddir=../..
+srcdir=$(top_srcdir)/networking/libiproute
LIBIPROUTE_DIR:=./
-include $(TOPDIR).config
-include $(TOPDIR)Rules.mak
+include $(top_builddir)/Rules.mak
+include $(top_builddir)/.config
include Makefile.in
all: $(libraries-y)
--include $(TOPDIR).depend
+-include $(top_builddir)/.depend
clean:
rm -f *.o *.a $(AR_TARGET)
diff --git a/networking/libiproute/Makefile.in b/networking/libiproute/Makefile.in
index 25c51999f..fcc7f48ce 100644
--- a/networking/libiproute/Makefile.in
+++ b/networking/libiproute/Makefile.in
@@ -19,8 +19,9 @@
LIBIPROUTE_AR:=libiproute.a
ifndef $(LIBIPROUTE_DIR)
-LIBIPROUTE_DIR:=$(TOPDIR)networking/libiproute/
+LIBIPROUTE_DIR:=$(top_builddir)/networking/libiproute/
endif
+srcdir=$(top_srcdir)/networking/libiproute
LIBIPROUTE-$(CONFIG_IP) += \
ip_parse_common_args.o \
@@ -78,3 +79,6 @@ libraries-y+=$(LIBIPROUTE_DIR)$(LIBIPROUTE_AR)
$(LIBIPROUTE_DIR)$(LIBIPROUTE_AR): $(patsubst %,$(LIBIPROUTE_DIR)%, $(LIBIPROUTE-y))
$(AR) -ro $@ $(patsubst %,$(LIBIPROUTE_DIR)%, $(LIBIPROUTE-y))
+$(LIBIPROUTE_DIR)%.o: $(srcdir)/%.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
+
diff --git a/networking/udhcp/Makefile b/networking/udhcp/Makefile
index 2b79d2293..3d32db50a 100644
--- a/networking/udhcp/Makefile
+++ b/networking/udhcp/Makefile
@@ -17,13 +17,15 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-TOPDIR:= ../../
+top_srcdir=../..
+top_builddir=../..
+srcdir=$(top_srcdir)/networking/udhcp
UDHCP_DIR:=./
-include $(TOPDIR).config
-include $(TOPDIR)Rules.mak
+include $(top_builddir)/Rules.mak
+include $(top_builddir)/.config
include Makefile.in
all: $(libraries-y)
--include $(TOPDIR).depend
+-include $(top_builddir)/.depend
clean:
rm -f *.o *.a $(AR_TARGET)
diff --git a/networking/udhcp/Makefile.in b/networking/udhcp/Makefile.in
index b48079429..2d7a08816 100644
--- a/networking/udhcp/Makefile.in
+++ b/networking/udhcp/Makefile.in
@@ -19,8 +19,9 @@
UDHCP_AR:=udhcp.a
ifndef $(UDHCP_DIR)
-UDHCP_DIR:=$(TOPDIR)networking/udhcp/
+UDHCP_DIR:=$(top_builddir)/networking/udhcp/
endif
+srcdir=$(top_srcdir)/networking/udhcp
#ok, so I forgot how to do an or, but this is a quick and dirty hack
ifeq ($(CONFIG_UDHCPC), y)
@@ -48,6 +49,6 @@ libraries-y+=$(UDHCP_DIR)$(UDHCP_AR)
$(UDHCP_DIR)$(UDHCP_AR): $(UDHCP_OBJS)
$(AR) -ro $@ $(UDHCP_OBJS)
-$(UDHCP_OBJS): %.o : %.c
+$(UDHCP_OBJS): $(UDHCP_DIR)%.o : $(srcdir)/%.c
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DIN_BUSYBOX -c $< -o $@