Commit 1e43adfc89d2730ab5b24b7a6b5c8ed373b6e284
1 parent
7a3f1944
new directory structure - changed naming of qemu and vl
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@387 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
58 additions
and
59 deletions
Makefile
| ... | ... | @@ -4,14 +4,14 @@ CFLAGS=-Wall -O2 -g |
| 4 | 4 | LDFLAGS=-g |
| 5 | 5 | LIBS= |
| 6 | 6 | DEFINES+=-D_GNU_SOURCE |
| 7 | -TOOLS=vlmkcow | |
| 7 | +TOOLS=qemu-mkcow | |
| 8 | 8 | |
| 9 | 9 | all: dyngen $(TOOLS) qemu-doc.html |
| 10 | 10 | for d in $(TARGET_DIRS); do \ |
| 11 | 11 | make -C $$d $@ || exit 1 ; \ |
| 12 | 12 | done |
| 13 | 13 | |
| 14 | -vlmkcow: vlmkcow.o | |
| 14 | +qemu-mkcow: qemu-mkcow.o | |
| 15 | 15 | $(HOST_CC) -o $@ $^ $(LIBS) |
| 16 | 16 | |
| 17 | 17 | dyngen: dyngen.o |
| ... | ... | @@ -52,39 +52,12 @@ TAGS: |
| 52 | 52 | qemu-doc.html: qemu-doc.texi |
| 53 | 53 | texi2html -monolithic -number $< |
| 54 | 54 | |
| 55 | -FILES= \ | |
| 56 | -README README.distrib COPYING COPYING.LIB TODO Changelog VERSION \ | |
| 57 | -configure Makefile Makefile.target \ | |
| 58 | -dyngen.c dyngen.h dyngen-exec.h ioctls.h syscall_types.h \ | |
| 59 | -elf.h elfload.c main.c signal.c qemu.h \ | |
| 60 | -syscall.c syscall_defs.h vm86.c path.c mmap.c \ | |
| 61 | -i386.ld ppc.ld alpha.ld s390.ld sparc.ld arm.ld m68k.ld \ | |
| 62 | -vl.c i386-vl.ld vl.h block.c vlmkcow.c vga.c vga_template.h sdl.c \ | |
| 63 | -thunk.c cpu-exec.c translate.c cpu-all.h cpu-defs.h thunk.h exec.h\ | |
| 64 | -exec.c cpu-exec.c gdbstub.c bswap.h \ | |
| 65 | -cpu-i386.h op-i386.c helper-i386.c helper2-i386.c syscall-i386.h translate-i386.c \ | |
| 66 | -exec-i386.h ops_template.h ops_template_mem.h opreg_template.h \ | |
| 67 | -ops_mem.h softmmu_template.h softmmu_header.h \ | |
| 68 | -cpu-arm.h syscall-arm.h exec-arm.h op-arm.c translate-arm.c op-arm-template.h \ | |
| 69 | -dis-asm.h disas.c disas.h alpha-dis.c ppc-dis.c i386-dis.c sparc-dis.c \ | |
| 70 | -arm-dis.c \ | |
| 71 | -tests/Makefile \ | |
| 72 | -tests/test-i386.c tests/test-i386-shift.h tests/test-i386.h \ | |
| 73 | -tests/test-i386-muldiv.h tests/test-i386-code16.S tests/test-i386-vm86.S \ | |
| 74 | -tests/hello-i386.c tests/hello-i386 \ | |
| 75 | -tests/hello-arm.c tests/hello-arm \ | |
| 76 | -tests/sha1.c \ | |
| 77 | -tests/testsig.c tests/testclone.c tests/testthread.c \ | |
| 78 | -tests/runcom.c tests/pi_10.com \ | |
| 79 | -tests/test_path.c \ | |
| 80 | -qemu-doc.texi qemu-doc.html | |
| 81 | - | |
| 82 | -FILE=qemu-$(VERSION) | |
| 55 | +FILE=qemu-$(shell cat VERSION) | |
| 83 | 56 | |
| 57 | +# tar release (use 'make -k tar' on a checkouted tree) | |
| 84 | 58 | tar: |
| 85 | 59 | rm -rf /tmp/$(FILE) |
| 86 | - mkdir -p /tmp/$(FILE) | |
| 87 | - cp --parent $(FILES) /tmp/$(FILE) | |
| 60 | + cp -r . /tmp/$(FILE) | |
| 88 | 61 | ( cd /tmp ; tar zcvf ~/$(FILE).tar.gz $(FILE) ) |
| 89 | 62 | rm -rf /tmp/$(FILE) |
| 90 | 63 | ... | ... |
Makefile.target
| 1 | 1 | include config.mak |
| 2 | 2 | |
| 3 | -VPATH=$(SRC_PATH) | |
| 3 | +TARGET_PATH=$(SRC_PATH)/target-$(TARGET_ARCH) | |
| 4 | +VPATH=$(SRC_PATH):$(TARGET_PATH) | |
| 4 | 5 | CFLAGS=-Wall -O2 -g |
| 5 | 6 | LDFLAGS=-g |
| 6 | 7 | LIBS= |
| 7 | -DEFINES=-I. | |
| 8 | +DEFINES=-I. -I$(TARGET_PATH) -I$(SRC_PATH) | |
| 8 | 9 | HELPER_CFLAGS=$(CFLAGS) |
| 9 | 10 | DYNGEN=../dyngen |
| 11 | +# user emulator name | |
| 12 | +QEMU_USER=qemu-$(TARGET_ARCH) | |
| 13 | +# system emulator name | |
| 14 | +ifdef CONFIG_SOFTMMU | |
| 15 | +QEMU_SYSTEM=qemu-softmmu | |
| 16 | +else | |
| 17 | +QEMU_SYSTEM=qemu | |
| 18 | +endif | |
| 19 | + | |
| 10 | 20 | ifndef CONFIG_SOFTMMU |
| 11 | -PROGS=qemu | |
| 21 | +PROGS=$(QEMU_USER) | |
| 12 | 22 | endif |
| 13 | 23 | |
| 14 | 24 | ifdef CONFIG_STATIC |
| ... | ... | @@ -32,7 +42,7 @@ else |
| 32 | 42 | LDFLAGS+=-Wl,-shared |
| 33 | 43 | endif |
| 34 | 44 | ifeq ($(TARGET_ARCH), i386) |
| 35 | -PROGS+=vl | |
| 45 | +PROGS+=$(QEMU_SYSTEM) | |
| 36 | 46 | endif |
| 37 | 47 | endif |
| 38 | 48 | |
| ... | ... | @@ -108,13 +118,11 @@ SRCS:= $(OBJS:.o=.c) |
| 108 | 118 | OBJS+= libqemu.a |
| 109 | 119 | |
| 110 | 120 | # cpu emulator library |
| 111 | -LIBOBJS=thunk.o exec.o translate.o cpu-exec.o gdbstub.o | |
| 121 | +LIBOBJS=thunk.o exec.o translate-all.o cpu-exec.o gdbstub.o \ | |
| 122 | + translate.o op.o | |
| 112 | 123 | |
| 113 | 124 | ifeq ($(TARGET_ARCH), i386) |
| 114 | -LIBOBJS+=translate-i386.o op-i386.o helper-i386.o helper2-i386.o | |
| 115 | -endif | |
| 116 | -ifeq ($(TARGET_ARCH), arm) | |
| 117 | -LIBOBJS+=translate-arm.o op-arm.o | |
| 125 | +LIBOBJS+=helper.o helper2.o | |
| 118 | 126 | endif |
| 119 | 127 | |
| 120 | 128 | # NOTE: the disassembler code is only needed for debugging |
| ... | ... | @@ -139,9 +147,9 @@ ifeq ($(ARCH),ia64) |
| 139 | 147 | OBJS += ia64-syscall.o |
| 140 | 148 | endif |
| 141 | 149 | |
| 142 | -all: $(PROGS) qemu-doc.html | |
| 150 | +all: $(PROGS) | |
| 143 | 151 | |
| 144 | -qemu: $(OBJS) | |
| 152 | +$(QEMU_USER): $(OBJS) | |
| 145 | 153 | $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) |
| 146 | 154 | ifeq ($(ARCH),alpha) |
| 147 | 155 | # Mark as 32 bit binary, i. e. it will be mapped into the low 31 bit of |
| ... | ... | @@ -156,7 +164,7 @@ VL_OBJS+=sdl.o |
| 156 | 164 | SDL_LIBS+=-L/usr/X11R6/lib -lX11 -lXext -lXv -ldl -lm |
| 157 | 165 | endif |
| 158 | 166 | |
| 159 | -vl: $(VL_OBJS) libqemu.a | |
| 167 | +$(QEMU_SYSTEM): $(VL_OBJS) libqemu.a | |
| 160 | 168 | $(CC) -static -Wl,-T,$(SRC_PATH)/i386-vl.ld -o $@ $^ $(LIBS) $(SDL_LIBS) |
| 161 | 169 | |
| 162 | 170 | sdl.o: sdl.c |
| ... | ... | @@ -171,35 +179,45 @@ libqemu.a: $(LIBOBJS) |
| 171 | 179 | rm -f $@ |
| 172 | 180 | $(AR) rcs $@ $(LIBOBJS) |
| 173 | 181 | |
| 174 | -translate-$(TARGET_ARCH).o: translate-$(TARGET_ARCH).c gen-op-$(TARGET_ARCH).h opc-$(TARGET_ARCH).h cpu-$(TARGET_ARCH).h | |
| 182 | +translate.o: translate.c gen-op.h opc.h cpu.h | |
| 175 | 183 | |
| 176 | -translate.o: translate.c op-$(TARGET_ARCH).h opc-$(TARGET_ARCH).h cpu-$(TARGET_ARCH).h | |
| 184 | +translate-all.o: translate-all.c op.h opc.h cpu.h | |
| 177 | 185 | |
| 178 | -op-$(TARGET_ARCH).h: op-$(TARGET_ARCH).o $(DYNGEN) | |
| 186 | +op.h: op.o $(DYNGEN) | |
| 179 | 187 | $(DYNGEN) -o $@ $< |
| 180 | 188 | |
| 181 | -opc-$(TARGET_ARCH).h: op-$(TARGET_ARCH).o $(DYNGEN) | |
| 189 | +opc.h: op.o $(DYNGEN) | |
| 182 | 190 | $(DYNGEN) -c -o $@ $< |
| 183 | 191 | |
| 184 | -gen-op-$(TARGET_ARCH).h: op-$(TARGET_ARCH).o $(DYNGEN) | |
| 192 | +gen-op.h: op.o $(DYNGEN) | |
| 185 | 193 | $(DYNGEN) -g -o $@ $< |
| 186 | 194 | |
| 187 | -op-$(TARGET_ARCH).o: op-$(TARGET_ARCH).c | |
| 195 | +op.o: op.c | |
| 188 | 196 | $(CC) $(OP_CFLAGS) $(DEFINES) -c -o $@ $< |
| 189 | 197 | |
| 190 | -helper-$(TARGET_ARCH).o: helper-$(TARGET_ARCH).c | |
| 198 | +helper.o: helper.c | |
| 191 | 199 | $(CC) $(HELPER_CFLAGS) $(DEFINES) -c -o $@ $< |
| 192 | 200 | |
| 193 | -op-i386.o: op-i386.c opreg_template.h ops_template.h ops_template_mem.h ops_mem.h | |
| 201 | +ifeq ($(TARGET_ARCH), i386) | |
| 202 | +op.o: op.c opreg_template.h ops_template.h ops_template_mem.h ops_mem.h | |
| 203 | +endif | |
| 204 | + | |
| 205 | +ifeq ($(TARGET_ARCH), arm) | |
| 206 | +op.o: op.c op_template.h | |
| 207 | +endif | |
| 194 | 208 | |
| 195 | -op-arm.o: op-arm.c op-arm-template.h | |
| 209 | +ifeq ($(TARGET_ARCH), sparc) | |
| 210 | +op.o: op.c op_template.h | |
| 211 | +endif | |
| 196 | 212 | |
| 197 | 213 | %.o: %.c |
| 198 | 214 | $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< |
| 199 | 215 | |
| 200 | 216 | clean: |
| 201 | - rm -f *.o *.a *~ $(PROGS) \ | |
| 202 | - gen-op-$(TARGET_ARCH).h opc-$(TARGET_ARCH).h op-$(TARGET_ARCH).h | |
| 217 | + rm -f *.o *.a *~ $(PROGS) gen-op.h opc.h op.h | |
| 218 | + | |
| 219 | +install: all | |
| 220 | + install -m 755 -s $(PROGS) $(prefix)/bin | |
| 203 | 221 | |
| 204 | 222 | ifneq ($(wildcard .depend),) |
| 205 | 223 | include .depend | ... | ... |
configure
| ... | ... | @@ -18,7 +18,7 @@ TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S" |
| 18 | 18 | |
| 19 | 19 | # default parameters |
| 20 | 20 | prefix="/usr/local" |
| 21 | -interp_prefix="/usr/gnemul/qemu-i386" | |
| 21 | +interp_prefix="/usr/gnemul/qemu-%M" | |
| 22 | 22 | static="no" |
| 23 | 23 | cross_prefix="" |
| 24 | 24 | cc="gcc" |
| ... | ... | @@ -27,7 +27,7 @@ ar="ar" |
| 27 | 27 | make="make" |
| 28 | 28 | strip="strip" |
| 29 | 29 | cpu=`uname -m` |
| 30 | -target_list="i386 i386-softmmu arm" | |
| 30 | +target_list="i386 i386-softmmu arm sparc" | |
| 31 | 31 | case "$cpu" in |
| 32 | 32 | i386|i486|i586|i686|i86pc|BePC) |
| 33 | 33 | cpu="i386" |
| ... | ... | @@ -193,7 +193,8 @@ EOF |
| 193 | 193 | echo "Standard options:" |
| 194 | 194 | echo " --help print this message" |
| 195 | 195 | echo " --prefix=PREFIX install in PREFIX [$prefix]" |
| 196 | -echo " --interp-prefix=PREFIX where to find shared libraries, etc. [$interp_prefix]" | |
| 196 | +echo " --interp-prefix=PREFIX where to find shared libraries, etc." | |
| 197 | +echo " use %M for cpu name [$interp_prefix]" | |
| 197 | 198 | echo " --target-list=LIST set target list [$target_list]" |
| 198 | 199 | echo "" |
| 199 | 200 | echo "Advanced options (experts only):" |
| ... | ... | @@ -310,6 +311,7 @@ config_mak=$target_dir/config.mak |
| 310 | 311 | config_h=$target_dir/config.h |
| 311 | 312 | target_cpu=`echo $target | cut -d '-' -f 1` |
| 312 | 313 | target_bigendian="no" |
| 314 | +[ "$target_cpu" = "sparc" ] && target_bigendian=yes | |
| 313 | 315 | target_softmmu="no" |
| 314 | 316 | if expr $target : '.*-softmmu' > /dev/null ; then |
| 315 | 317 | target_softmmu="yes" |
| ... | ... | @@ -326,7 +328,9 @@ echo "/* Automatically generated by configure - do not modify */" > $config_h |
| 326 | 328 | |
| 327 | 329 | echo "include ../config-host.mak" >> $config_mak |
| 328 | 330 | echo "#include \"../config-host.h\"" >> $config_h |
| 329 | -echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix\"" >> $config_h | |
| 331 | + | |
| 332 | +interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"` | |
| 333 | +echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h | |
| 330 | 334 | |
| 331 | 335 | if test "$target_cpu" = "i386" ; then |
| 332 | 336 | echo "TARGET_ARCH=i386" >> $config_mak |
| ... | ... | @@ -336,6 +340,10 @@ elif test "$target_cpu" = "arm" ; then |
| 336 | 340 | echo "TARGET_ARCH=arm" >> $config_mak |
| 337 | 341 | echo "#define TARGET_ARCH \"arm\"" >> $config_h |
| 338 | 342 | echo "#define TARGET_ARM 1" >> $config_h |
| 343 | +elif test "$target_cpu" = "sparc" ; then | |
| 344 | + echo "TARGET_ARCH=sparc" >> $config_mak | |
| 345 | + echo "#define TARGET_ARCH \"sparc\"" >> $config_h | |
| 346 | + echo "#define TARGET_SPARC 1" >> $config_h | |
| 339 | 347 | else |
| 340 | 348 | echo "Unsupported target CPU" |
| 341 | 349 | exit 1 | ... | ... |