]> mj.ucw.cz Git - eval.git/blob - box/Makefile
Box: Introduce 64-bit mode and mask out syscalls which are not available there
[eval.git] / box / Makefile
1 # Makefile for MO-Eval sandbox
2 # (c) 2008--2010 Martin Mares <mj@ucw.cz>
3
4 DIRS+=box
5 PROGS+=$(o)/box/box
6
7 BOX_CFLAGS=-m64 -DCONFIG_BOX_AMD64
8
9 $(o)/box/box: $(o)/box/box.o
10 $(o)/box/box.o: $(o)/box/syscall-table.h
11 $(o)/box/box.o: CFLAGS+=$(BOX_CFLAGS)
12
13 $(o)/box/syscall-table.h: $(s)/box/mk-syscall-table
14         sh $^ >$@ $(BOX_CFLAGS)
15
16 box-tests: $(addprefix $(o)/box/test-sys,32-int80 64-int80 32-syscall 64-syscall 32-sysenter 64-sysenter)
17
18 .PHONY: box-tests
19
20 $(o)/box/test-sys32-int80: $(s)/box/test-syscalls.c
21         $(CC) -m32 $^ -o $@ -DTEST_INT80
22
23 $(o)/box/test-sys64-int80: $(s)/box/test-syscalls.c
24         $(CC) -m64 $^ -o $@ -DTEST_INT80
25
26 $(o)/box/test-sys32-syscall: $(s)/box/test-syscalls.c
27         $(CC) -m32 $^ -o $@ -DTEST_SYSCALL_32
28
29 $(o)/box/test-sys64-syscall: $(s)/box/test-syscalls.c
30         $(CC) -m64 $^ -o $@ -DTEST_SYSCALL_64
31
32 $(o)/box/test-sys32-sysenter: $(s)/box/test-syscalls.c
33         $(CC) -m32 $^ -o $@ -DTEST_SYSENTER_32
34
35 $(o)/box/test-sys64-sysenter: $(s)/box/test-syscalls.c
36         $(CC) -m64 $^ -o $@ -DTEST_SYSENTER_32 #sic