aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2006-04-16 12:41:07 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2006-04-16 12:41:07 +0000
commitad06484063972abdf3f426412af9aa101bea26a8 (patch)
treebdfdf87a59f2cd4f6a690dce17b54ff576e422f6
parent115defd163ff4977cfffbaa5a02e8d19d89e03d2 (diff)
Fix out of tree builds.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1814 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--Makefile21
-rw-r--r--Makefile.target2
-rwxr-xr-xconfigure18
3 files changed, 24 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index 59a549a5c0..a8fd496ebe 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
--include config-host.mak
+include config-host.mak
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing
+CFLAGS=-Wall -O2 -g -fno-strict-aliasing -I.
ifdef CONFIG_DARWIN
CFLAGS+= -mdynamic-no-pic
endif
@@ -47,18 +47,19 @@ install: all
mkdir -p "$(DESTDIR)$(bindir)"
install -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
mkdir -p "$(DESTDIR)$(datadir)"
- install -m 644 pc-bios/bios.bin pc-bios/vgabios.bin \
- pc-bios/vgabios-cirrus.bin \
- pc-bios/ppc_rom.bin pc-bios/video.x \
- pc-bios/proll.elf \
- pc-bios/linux_boot.bin "$(DESTDIR)$(datadir)"
+ for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
+ video.x proll.elf linux_boot.bin; do \
+ install -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
+ done
mkdir -p "$(DESTDIR)$(docdir)"
install -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
ifndef CONFIG_WIN32
mkdir -p "$(DESTDIR)$(mandir)/man1"
install qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
mkdir -p "$(DESTDIR)$(datadir)/keymaps"
- install -m 644 $(addprefix keymaps/,$(KEYMAPS)) "$(DESTDIR)$(datadir)/keymaps"
+ for x in $(KEYMAPS); do \
+ install -m 644 $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
+ done
endif
for d in $(TARGET_DIRS); do \
$(MAKE) -C $$d $@ || exit 1 ; \
@@ -81,11 +82,11 @@ cscope:
texi2html -monolithic -number $<
qemu.1: qemu-doc.texi
- ./texi2pod.pl $< qemu.pod
+ $(SRC_PATH)/texi2pod.pl $< qemu.pod
pod2man --section=1 --center=" " --release=" " qemu.pod > $@
qemu-img.1: qemu-img.texi
- ./texi2pod.pl $< qemu-img.pod
+ $(SRC_PATH)/texi2pod.pl $< qemu-img.pod
pod2man --section=1 --center=" " --release=" " qemu-img.pod > $@
FILE=qemu-$(shell cat VERSION)
diff --git a/Makefile.target b/Makefile.target
index 755fba1e73..abe19c0a64 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -12,7 +12,7 @@ TARGET_BASE_ARCH:=sparc
endif
TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
VPATH=$(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw:$(SRC_PATH)/audio
-DEFINES=-I. -I$(TARGET_PATH) -I$(SRC_PATH)
+DEFINES=-I. -I.. -I$(TARGET_PATH) -I$(SRC_PATH)
ifdef CONFIG_USER_ONLY
VPATH+=:$(SRC_PATH)/linux-user
DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
diff --git a/configure b/configure
index ff504b2b3a..8331e4f25d 100755
--- a/configure
+++ b/configure
@@ -139,14 +139,16 @@ if [ "$bsd" = "yes" ] ; then
fi
# find source path
-# XXX: we assume an absolute path is given when launching configure,
-# except in './configure' case.
-source_path=${0%configure}
-source_path=${source_path%/}
-source_path_used="yes"
-if test -z "$source_path" -o "$source_path" = "." ; then
+source_path=`dirname "$0"`
+if [ -z "$source_path" ]; then
source_path=`pwd`
+else
+ source_path=`cd "$source_path"; pwd`
+fi
+if test "$source_path" = `pwd` ; then
source_path_used="no"
+else
+ source_path_used="yes"
fi
for opt do
@@ -158,6 +160,7 @@ for opt do
--interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
;;
--source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
+ source_path_used="yes"
;;
--cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
;;
@@ -615,6 +618,9 @@ head $source_path/VERSION >> $config_h
echo "\"" >> $config_h
echo "SRC_PATH=$source_path" >> $config_mak
+if [ "$source_path_used" = "yes" ]; then
+ echo "VPATH=$source_path" >> $config_mak
+fi
echo "TARGET_DIRS=$target_list" >> $config_mak
# XXX: suppress that