OLD | NEW |
| (Empty) |
1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 # This Makefile temporarily has been checked into the source tree so that | |
6 # we can run the tests. It will be replaced with a proper gyp file. | |
7 | |
8 CFLAGS = -g -O0 -Wall -Werror -Wextra -Wno-missing-field-initializers \ | |
9 -Wno-unused-parameter -I. | |
10 LDFLAGS = -g | |
11 CPPFLAGS = | |
12 MODS := allocator library debug maps x86_decode securemem sandbox \ | |
13 syscall syscall_table trusted_thread trusted_process \ | |
14 access exit clone getpid gettid ioctl ipc madvise mmap mprotect \ | |
15 munmap open sigaction sigprocmask socketcall stat | |
16 OBJS64 := $(shell echo ${MODS} | xargs -n 1 | sed -e 's/$$/.o64/') | |
17 OBJS32 := $(shell echo ${MODS} | xargs -n 1 | sed -e 's/$$/.o32/') | |
18 HEADERS:= $(shell for i in ${MODS}; do [ -r "$$i" ] && echo "$$i"; done) | |
19 | |
20 .SUFFIXES: .o64 .o32 | |
21 | |
22 all: test | |
23 | |
24 clean: | |
25 -rm -f *.o *.o32 *.o64 tests/*.o32 tests/*.o.64 | |
26 -rm -f core core.* vgcore vgcore.* strace.log* | |
27 -rm -f run_tests_32 run_tests_64 | |
28 -rm -f tests/test_syscalls.o64 tests/test_syscalls.o32 | |
29 -rm -f tests/test-list.h | |
30 | |
31 test: run_tests_64 run_tests_32 | |
32 ./run_tests_64 | |
33 ./run_tests_32 | |
34 | |
35 # TODO: Track header file dependencies properly | |
36 tests/test_syscalls.o64 tests/test_syscalls.o32: tests/test-list.h | |
37 | |
38 tests/test-list.h: tests/list_tests.py tests/test_syscalls.cc | |
39 python tests/list_tests.py tests/test_syscalls.cc > $@ | |
40 | |
41 run_tests_64: $(OBJS64) tests/test_syscalls.o64 tests/test-list.h | |
42 g++ -m64 tests/test_syscalls.o64 $(OBJS64) -lpthread -lutil -o $@ | |
43 run_tests_32: $(OBJS32) tests/test_syscalls.o32 tests/test-list.h | |
44 g++ -m32 tests/test_syscalls.o32 $(OBJS32) -lpthread -lutil -o $@ | |
45 | |
46 .cc.o: ${HEADERS} | |
47 ${CXX} ${CFLAGS} ${CPPFLAGS} -c -o $@ $< | |
48 | |
49 .cc.o64: ${HEADERS} | |
50 ${CXX} ${CFLAGS} ${CPPFLAGS} -fPIC -c -o $@ $< | |
51 | |
52 .c.o64: ${HEADERS} | |
53 ${CC} ${CFLAGS} ${CPPFLAGS} --std=gnu99 -fPIC -c -o $@ $< | |
54 | |
55 .cc.o32: ${HEADERS} | |
56 ${CXX} ${CFLAGS} ${CPPFLAGS} -m32 -fPIC -c -o $@ $< | |
57 | |
58 .c.o32: ${HEADERS} | |
59 ${CC} ${CFLAGS} ${CPPFLAGS} -m32 --std=gnu99 -fPIC -c -o $@ $< | |
OLD | NEW |