Commit 1e43adfc89d2730ab5b24b7a6b5c8ed373b6e284

Authored by bellard
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
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=&quot;${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S&quot;
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=&quot;ar&quot;
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 &quot;/* Automatically generated by configure - do not modify */&quot; &gt; $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 &quot;$target_cpu&quot; = &quot;arm&quot; ; 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
... ...