Initial import of kqemu-1.4.0pre1
[kqemu.git] / tests / Makefile
blobcd9b8af4b06ec968400151b3862cc5360cccd1f7
1 include ../config-host.mak
3 #CC=gcc34
4 LD=ld
5 CC_32=$(CC) -m32
6 LD_32=$(LD) -m elf_i386
7 CFLAGS=-O2 -Wall -Werror -fno-optimize-sibling-calls -fno-common \
8 -fno-strict-aliasing -fno-builtin -g -I..
9 KERNEL_CFLAGS_32=$(CFLAGS)
10 KERNEL_CFLAGS_64=$(CFLAGS) -mno-red-zone -mcmodel=kernel
12 TARGETS=usertest-i386.out kerneltest-i386.out
13 ifeq ($(ARCH), x86_64)
14 TARGETS+=usertest-x86_64.out kerneltest-x86_64.out
15 endif
17 all: $(TARGETS) kqemutest
19 # 32 bit user code
20 usertest-i386.out: head-i386.o usertest-i386.o
21 $(LD_32) -o $@ -N -Ttext 0x20010000 $^
23 usertest-i386.o: usertest.c lib.c
24 $(CC_32) $(CFLAGS) -o $@ -c $<
26 head-i386.o: head.S
27 $(CC_32) -D__ASSEMBLY__ -c -o $@ $<
29 # 64 bit user code
30 usertest-x86_64.out: head-x86_64.o usertest-x86_64.o
31 ld -o $@ -N -Ttext 0x20010000 $^
33 usertest-x86_64.o: usertest.c lib.c
34 $(CC) $(CFLAGS) -o $@ -c $<
36 head-x86_64.o: head.S
37 $(CC) -D__ASSEMBLY__ -c -o $@ $<
39 # 32 bit kernel code
40 kerneltest-i386.out: entry-i386.o kerneltest-i386.o
41 $(LD_32) -o $@ -N -Ttext 0xc0000000 $^
43 kerneltest-i386.o: kerneltest.c
44 $(CC_32) $(KERNEL_CFLAGS_32) -o $@ -c $<
46 entry-i386.o: entry-i386.S
47 $(CC_32) -D__ASSEMBLY__ -c -o $@ $<
49 # 64 bit kernel code
50 kerneltest-x86_64.out: entry-x86_64.o kerneltest-x86_64.o
51 ld -o $@ -N -Ttext 0xffffffffc0000000 $^
53 kerneltest-x86_64.o: kerneltest.c
54 $(CC) $(KERNEL_CFLAGS_64) -o $@ -c $<
56 entry-x86_64.o: entry-x86_64.S
57 $(CC) -D__ASSEMBLY__ -c -o $@ $<
59 # test main
60 kqemutest: kqemutest.c ../kqemu.h
61 $(CC) $(CFLAGS) -o $@ kqemutest.c
63 clean:
64 rm -f *.o *~ kqemutest *.out