📄 makefile
字号:
-include ../config-host.makCFLAGS=-Wall -O2 -g #-msse2LDFLAGS=ifeq ($(ARCH),i386)TESTS=linux-test testthread sha1-i386 test-i386 runcomendififeq ($(ARCH),x86_64)TESTS=test-x86_64endifTESTS+=sha1# test_path#TESTS+=test_pathQEMU=../i386-user/qemu-i386all: $(TESTS)hello-i386: hello-i386.c $(CC) -nostdlib $(CFLAGS) -static $(LDFLAGS) -o $@ $< strip $@testthread: testthread.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lpthreadtest_path: test_path.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< ./$@ || { rm $@; exit 1; }# i386/x86_64 emulation test (test various opcodes) */test-i386: test-i386.c test-i386-code16.S test-i386-vm86.S \ test-i386.h test-i386-shift.h test-i386-muldiv.h $(CC) $(CFLAGS) $(LDFLAGS) -static -o $@ \ test-i386.c test-i386-code16.S test-i386-vm86.S -lmtest-x86_64: test-i386.c \ test-i386.h test-i386-shift.h test-i386-muldiv.h $(CC) $(CFLAGS) $(LDFLAGS) -static -o $@ test-i386.c -lmifeq ($(ARCH),i386)test: test-i386 ./test-i386 > test-i386.refelsetest:endif $(QEMU) test-i386 > test-i386.out @if diff -u test-i386.ref test-i386.out ; then echo "Auto Test OK"; fiifeq ($(ARCH),i386) $(QEMU) -no-code-copy test-i386 > test-i386.out @if diff -u test-i386.ref test-i386.out ; then echo "Auto Test OK (no code copy)"; fiendif# generic Linux and CPU testlinux-test: linux-test.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lm# speed testsha1-i386: sha1.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<sha1: sha1.c $(HOST_CC) $(CFLAGS) $(LDFLAGS) -o $@ $<speed: sha1 sha1-i386 time ./sha1 time $(QEMU) ./sha1-i386# vm86 testruncom: runcom.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<# NOTE: -fomit-frame-pointer is currently needed : this is a bug in libqemuqruncom: qruncom.c ../i386-user/libqemu.a $(CC) $(CFLAGS) -fomit-frame-pointer $(LDFLAGS) -I../target-i386 -I.. -I../i386-user -I../fpu \ -o $@ $< -L../i386-user -lqemu -lm# arm testhello-arm: hello-arm.o arm-linux-ld -o $@ $<hello-arm.o: hello-arm.c arm-linux-gcc -Wall -g -O2 -c -o $@ $<# XXX: find a way to compile easily a test for each archtest2: @for arch in i386 arm armeb sparc ppc mips mipsel; do \ ../$${arch}-user/qemu-$${arch} $${arch}/ls -l linux-test.c ; \ doneclean: rm -f *~ *.o test-i386.out test-i386.ref \ test-x86_64.log test-x86_64.ref qruncom $(TESTS)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -