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 | ... | ... |