Mercurial > hg > Members > tobaru > CbC_xv6
comparison src/usr/CMakeLists.txt @ 58:f1b965f53d3b
add tools userlists
author | tobaru |
---|---|
date | Fri, 05 Jul 2019 16:39:01 +0900 |
parents | |
children | 8f435de13b91 |
comparison
equal
deleted
inserted
replaced
57:450ee0f18709 | 58:f1b965f53d3b |
---|---|
1 cmake_minimum_required(VERSION 3.8) | |
2 project(usr C ASM) | |
3 | |
4 | |
5 set(CMAKE_C_FLAGS_DEBUG "-O0") | |
6 add_definitions(${PMAKE_ARGS}) | |
7 set(CMAKE_C_COMPILER "${CBC_COM}") | |
8 | |
9 include_directories("..") | |
10 | |
11 macro( GearsCommand ) | |
12 set( _OPTIONS_ARGS ) | |
13 set( _ONE_VALUE_ARGS TARGET ) | |
14 set( _MULTI_VALUE_ARGS SOURCES ) | |
15 cmake_parse_arguments( _Gears "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} ) | |
16 | |
17 set (_Gears_CBC_SOURCES) | |
18 set (_Gears_CSOURCES) | |
19 foreach(i ${_Gears_SOURCES}) | |
20 if (${i} MATCHES "\\.cbc") | |
21 string(REGEX REPLACE "(.*).cbc" "c/\\1.c" j ${i}) | |
22 add_custom_command ( | |
23 OUTPUT ${j} | |
24 DEPENDS ${i} | |
25 COMMAND "perl" "gearsTools/generate_stub.pl" "-o" ${j} ${i} | |
26 ) | |
27 list(APPEND _Gears_CBC_SOURCES ${j}) | |
28 elseif (${i} MATCHES "\\.cu") | |
29 string(REGEX REPLACE "(.*).cu" "c/\\1.ptx" j ${i}) | |
30 add_custom_command ( | |
31 OUTPUT ${j} | |
32 DEPENDS ${i} | |
33 COMMAND nvcc ${NVCCFLAG} -c -ptx -o ${j} ${i} | |
34 ) | |
35 list(APPEND _Gears_CBC_SOURCES ${j}) | |
36 else() | |
37 set(j ${i}) | |
38 list(APPEND _Gears_CSOURCES ${j}) | |
39 endif() | |
40 endforeach(i) | |
41 | |
42 add_custom_command ( | |
43 OUTPUT c/${_Gears_TARGET}-context.c | |
44 DEPENDS ${_Gears_CBC_SOURCES} | |
45 COMMAND "perl" "gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES} | |
46 ) | |
47 add_executable(${_Gears_TARGET} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} c/${_Gears_TARGET}-context.c ) | |
48 target_link_libraries(${_Gears_TARGET} ulib) | |
49 endmacro() | |
50 | |
51 add_library(ulib STATIC ulib.c usys.c printf.c umalloc.c) | |
52 | |
53 set(USR_COMMANDS _cat _echo _grep _init _kill _ln _ls _mkdir _rm _sh _stressfs _usertests _wc _zombie _hello) | |
54 | |
55 foreach(cmd ${USR_COMMANDS) | |
56 GearsCommand (TARGET ${cmd} SOURCES ${cmd}.c) | |
57 end foreach(cmd) | |
58 | |
59 add_custom_command(OUTPUT fs.img | |
60 COMMAND ./mkfs fs.img ${USR_COMMAND} UNIX | |
61 DEPENDS ${USR_COMMANDS} | |
62 ) | |
63 |