Mercurial > hg > Members > anatofuz > CbC_xv6
comparison src/usr/CMakeLists.txt @ 62:a28580a75faa
fix build fs.img
author | anatofuz |
---|---|
date | Thu, 25 Jul 2019 20:04:17 +0900 |
parents | b3a3224e1823 |
children | ab729eb8356b |
comparison
equal
deleted
inserted
replaced
61:b3a3224e1823 | 62:a28580a75faa |
---|---|
6 set(CMAKE_C_FLAGS_DEBUG "-O0") | 6 set(CMAKE_C_FLAGS_DEBUG "-O0") |
7 add_definitions(${PMAKE_ARGS}) | 7 add_definitions(${PMAKE_ARGS}) |
8 set(CMAKE_C_COMPILER "${CBC_COM}") | 8 set(CMAKE_C_COMPILER "${CBC_COM}") |
9 | 9 |
10 include_directories("..") | 10 include_directories("..") |
11 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdlib") | |
12 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_LIB} -nostdlib") | |
11 | 13 |
12 macro( GearsCommand ) | 14 macro( GearsCommand ) |
13 set( _OPTIONS_ARGS ) | 15 set( _OPTIONS_ARGS ) |
14 set( _ONE_VALUE_ARGS TARGET ) | 16 set( _ONE_VALUE_ARGS TARGET ) |
15 set( _MULTI_VALUE_ARGS SOURCES ) | 17 set( _MULTI_VALUE_ARGS SOURCES ) |
21 if (${i} MATCHES "\\.cbc") | 23 if (${i} MATCHES "\\.cbc") |
22 string(REGEX REPLACE "(.*).cbc" "c/\\1.c" j ${i}) | 24 string(REGEX REPLACE "(.*).cbc" "c/\\1.c" j ${i}) |
23 add_custom_command ( | 25 add_custom_command ( |
24 OUTPUT ${j} | 26 OUTPUT ${j} |
25 DEPENDS ${i} | 27 DEPENDS ${i} |
26 COMMAND "perl" "gearsTools/generate_stub.pl" "-o" ${j} ${i} | 28 COMMAND "perl" "../gearsTools/generate_stub.pl" "-o" ${j} ${i} |
27 ) | 29 ) |
28 list(APPEND _Gears_CBC_SOURCES ${j}) | 30 list(APPEND _Gears_CBC_SOURCES ${j}) |
29 elseif (${i} MATCHES "\\.cu") | 31 elseif (${i} MATCHES "\\.cu") |
30 string(REGEX REPLACE "(.*).cu" "c/\\1.ptx" j ${i}) | 32 string(REGEX REPLACE "(.*).cu" "c/\\1.ptx" j ${i}) |
31 add_custom_command ( | 33 add_custom_command ( |
41 endforeach(i) | 43 endforeach(i) |
42 | 44 |
43 add_custom_command ( | 45 add_custom_command ( |
44 OUTPUT c/${_Gears_TARGET}-context.c | 46 OUTPUT c/${_Gears_TARGET}-context.c |
45 DEPENDS ${_Gears_CBC_SOURCES} | 47 DEPENDS ${_Gears_CBC_SOURCES} |
46 COMMAND "perl" "gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES} | 48 COMMAND "perl" "../gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES} |
47 ) | 49 ) |
48 add_executable(${_Gears_TARGET} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} c/${_Gears_TARGET}-context.c ) | 50 add_executable(${_Gears_TARGET} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} c/${_Gears_TARGET}-context.c ) |
49 target_link_libraries(${_Gears_TARGET} ulib) | 51 target_link_libraries(${_Gears_TARGET} ulib) |
50 endmacro() | 52 endmacro() |
51 | 53 |
52 add_library(ulib STATIC ulib.c usys.S printf.c umalloc.c) | 54 add_library(ulib STATIC ulib.c usys.S printf.c umalloc.c) |
53 #add_library(syslib string.c) | 55 #add_library(syslib string.c) |
54 | 56 |
55 set(USRCOMMANDS cat echo grep init kill ln ls mkdir rm sh stressfs usertests wc zombie hello) | 57 set(USR_COMMANDS cat echo grep init kill ln ls mkdir rm sh stressfs usertests wc zombie hello) |
56 | 58 |
57 foreach(cmd ${USR_COMMANDS}) | 59 foreach(cmd ${USR_COMMANDS}) |
58 GearsCommand (TARGET _${cmd} SOURCES ${cmd}.c) | 60 GearsCommand (TARGET _${cmd} SOURCES ${cmd}.c) |
59 endforeach(cmd) | 61 endforeach(cmd) |
60 | 62 |
61 add_custom_command(OUTPUT fs.img | 63 add_custom_target(fs.img |
62 COMMAND ../tools/mkfs fs.img ${USR_COMMAND} UNIX | 64 COMMAND ../tools/mkfs fs.img ${USR_COMMANDS} UNIX |
63 DEPENDS ${USR_COMMANDS} | 65 DEPENDS ${USR_COMMANDS} |
64 ) | 66 ) |
65 |