1 include ..
/config-host.mak
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
17 all: $(TARGETS
) kqemutest
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
$<
27 $(CC_32
) -D__ASSEMBLY__
-c
-o
$@
$<
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
$<
37 $(CC
) -D__ASSEMBLY__
-c
-o
$@
$<
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
$@
$<
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
$@
$<
60 kqemutest
: kqemutest.c ..
/kqemu.h
61 $(CC
) $(CFLAGS
) -o
$@ kqemutest.c
64 rm -f
*.o
*~ kqemutest
*.out