aboutsummaryrefslogtreecommitdiff
path: root/archival
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 /archival
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 'archival')
-rw-r--r--archival/Makefile12
-rw-r--r--archival/Makefile.in6
-rw-r--r--archival/libunarchive/Makefile12
-rw-r--r--archival/libunarchive/Makefile.in6
4 files changed, 24 insertions, 12 deletions
diff --git a/archival/Makefile b/archival/Makefile
index 1cbe7ee00..a96daa4df 100644
--- a/archival/Makefile
+++ b/archival/Makefile
@@ -17,13 +17,15 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-TOPDIR:= ../
+top_srcdir=..
+top_builddir=..
ARCHIVAL_DIR:=./
-include $(TOPDIR).config
-include $(TOPDIR)Rules.mak
-include Makefile.in
+srcdir=$(top_srcdir)/archival
+include $(top_builddir)/Rules.mak
+include $(top_builddir)/.config
+include $(srcdir)/Makefile.in
all: $(libraries-y)
--include $(TOPDIR).depend
+-include $(top_builddir)/.depend
clean:
rm -f *.o *.a $(AR_TARGET)
diff --git a/archival/Makefile.in b/archival/Makefile.in
index 1673662f9..76ab6cd08 100644
--- a/archival/Makefile.in
+++ b/archival/Makefile.in
@@ -19,8 +19,9 @@
ARCHIVAL_AR:=archival.a
ifndef $(ARCHIVAL_DIR)
-ARCHIVAL_DIR:=$(TOPDIR)archival/
+ARCHIVAL_DIR:=$(top_builddir)/archival/
endif
+srcdir=$(top_srcdir)/archival
ARCHIVAL-y:=
ARCHIVAL-$(CONFIG_APT_GET) +=
@@ -42,3 +43,6 @@ libraries-y+=$(ARCHIVAL_DIR)$(ARCHIVAL_AR)
$(ARCHIVAL_DIR)$(ARCHIVAL_AR): $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y))
$(AR) -ro $@ $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y))
+$(ARCHIVAL_DIR)%.o: $(srcdir)/%.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
+
diff --git a/archival/libunarchive/Makefile b/archival/libunarchive/Makefile
index 9a20ea28b..e985fa49f 100644
--- a/archival/libunarchive/Makefile
+++ b/archival/libunarchive/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)/archival/libunarchive
LIBUNARCHIVE_DIR:=./
-include $(TOPDIR).config
-include $(TOPDIR)Rules.mak
-include Makefile.in
+include $(top_builddir)/Rules.mak
+include $(top_builddir)/.config
+include $(srcdir)/Makefile.in
all: $(libraries-y)
--include $(TOPDIR).depend
+-include $(top_builddir)/.depend
clean:
rm -f *.o *.a $(AR_TARGET)
diff --git a/archival/libunarchive/Makefile.in b/archival/libunarchive/Makefile.in
index 5cf5efa33..809b0e10e 100644
--- a/archival/libunarchive/Makefile.in
+++ b/archival/libunarchive/Makefile.in
@@ -19,8 +19,9 @@
LIBUNARCHIVE_AR:=libunarchive.a
ifndef $(LIBUNARCHIVE_DIR)
-LIBUNARCHIVE_DIR:=$(TOPDIR)archival/libunarchive/
+LIBUNARCHIVE_DIR:=$(top_builddir)/archival/libunarchive/
endif
+srcdir=$(top_srcdir)/archvial/libunarchive
LIBUNARCHIVE-y:= \
\
@@ -78,3 +79,6 @@ libraries-y+=$(LIBUNARCHIVE_DIR)$(LIBUNARCHIVE_AR)
$(LIBUNARCHIVE_DIR)$(LIBUNARCHIVE_AR): $(patsubst %,$(LIBUNARCHIVE_DIR)%, $(LIBUNARCHIVE-y))
$(AR) -ro $@ $(patsubst %,$(LIBUNARCHIVE_DIR)%, $(LIBUNARCHIVE-y))
+$(LIBUNARCHIVA_DIR)%.o: $(srcdir)/%.c
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
+