1 #This is a make file with common rules for both x86 & x86-64
3 all: kvmctl kvmtrace test_cases
5 kvmctl_objs
= main.o iotable.o ..
/libkvm
/libkvm.a
6 kvmtrace_objs
= kvmtrace.o
7 balloon_ctl
: balloon_ctl.o
9 FLATLIBS
= $(TEST_DIR
)/libcflat.a
$(libgcc
)
10 %.flat
: %.o
$(FLATLIBS
)
11 $(CC
) $(CFLAGS
) -nostdlib
-o
$@
-Wl
,-T
,flat.lds
$^
$(FLATLIBS
)
13 tests-common
= $(TEST_DIR
)/bootstrap \
14 $(TEST_DIR
)/vmexit.flat
$(TEST_DIR
)/tsc.flat \
15 $(TEST_DIR
)/smp.flat
$(TEST_DIR
)/port80.flat
17 test_cases
: $(tests-common
) $(tests
)
19 $(TEST_DIR
)/%.o
: CFLAGS
+= -std
=gnu99
-ffreestanding
-I
$(TEST_DIR
)/lib
21 $(TEST_DIR
)/bootstrap
: $(TEST_DIR
)/bootstrap.o
22 $(CC
) -nostdlib
-o
$@
-Wl
,-T
,bootstrap.lds
$^
24 $(TEST_DIR
)/irq.flat
: $(TEST_DIR
)/print.o
26 $(TEST_DIR
)/access.flat
: $(cstart.o
) $(TEST_DIR
)/access.o
$(TEST_DIR
)/print.o
28 $(TEST_DIR
)/hypercall.flat
: $(cstart.o
) $(TEST_DIR
)/hypercall.o
$(TEST_DIR
)/print.o
30 $(TEST_DIR
)/sieve.flat
: $(cstart.o
) $(TEST_DIR
)/sieve.o \
31 $(TEST_DIR
)/print.o
$(TEST_DIR
)/vm.o
33 $(TEST_DIR
)/vmexit.flat
: $(cstart.o
) $(TEST_DIR
)/vmexit.o
35 $(TEST_DIR
)/test32.flat
: $(TEST_DIR
)/test32.o
37 $(TEST_DIR
)/smp.flat
: $(cstart.o
) $(TEST_DIR
)/smptest.o
39 $(TEST_DIR
)/emulator.flat
: $(cstart.o
) $(TEST_DIR
)/vm.o
$(TEST_DIR
)/print.o
41 $(TEST_DIR
)/port80.flat
: $(cstart.o
) $(TEST_DIR
)/port80.o
43 $(TEST_DIR
)/tsc.flat
: $(cstart.o
) $(TEST_DIR
)/tsc.o
45 $(TEST_DIR
)/libcflat.a
: $(TEST_DIR
)/lib
/exit.o
$(TEST_DIR
)/lib
/printf.o \
46 $(TEST_DIR
)/lib
/smp.o
$(TEST_DIR
)/lib
/string.o
50 $(RM
) $(TEST_DIR
)/bootstrap
$(TEST_DIR
)/*.o
$(TEST_DIR
)/*.flat \
51 $(TEST_DIR
)/.
*.d
$(TEST_DIR
)/lib
/.
*.d
$(TEST_DIR
)/lib
/*.o