annotate src/usr/CMakeLists.txt @ 61:b3a3224e1823

fix link arguments...
author anatofuz
date Thu, 11 Jul 2019 18:51:52 +0900
parents e5f099108a6e
children a28580a75faa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
58
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
1 cmake_minimum_required(VERSION 3.8)
59
8f435de13b91 fix cmakefiles
tobaru
parents: 58
diff changeset
2 set(CMAKE_C_COMPILER "/usr/bin/cc")
58
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
3 project(usr C ASM)
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
4
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
5
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
6 set(CMAKE_C_FLAGS_DEBUG "-O0")
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
7 add_definitions(${PMAKE_ARGS})
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
8 set(CMAKE_C_COMPILER "${CBC_COM}")
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
9
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
10 include_directories("..")
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
11
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
12 macro( GearsCommand )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
13 set( _OPTIONS_ARGS )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
14 set( _ONE_VALUE_ARGS TARGET )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
15 set( _MULTI_VALUE_ARGS SOURCES )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
16 cmake_parse_arguments( _Gears "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
17
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
18 set (_Gears_CBC_SOURCES)
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
19 set (_Gears_CSOURCES)
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
20 foreach(i ${_Gears_SOURCES})
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
21 if (${i} MATCHES "\\.cbc")
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
22 string(REGEX REPLACE "(.*).cbc" "c/\\1.c" j ${i})
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
23 add_custom_command (
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
24 OUTPUT ${j}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
25 DEPENDS ${i}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
26 COMMAND "perl" "gearsTools/generate_stub.pl" "-o" ${j} ${i}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
27 )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
28 list(APPEND _Gears_CBC_SOURCES ${j})
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
29 elseif (${i} MATCHES "\\.cu")
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
30 string(REGEX REPLACE "(.*).cu" "c/\\1.ptx" j ${i})
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
31 add_custom_command (
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
32 OUTPUT ${j}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
33 DEPENDS ${i}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
34 COMMAND nvcc ${NVCCFLAG} -c -ptx -o ${j} ${i}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
35 )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
36 list(APPEND _Gears_CBC_SOURCES ${j})
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
37 else()
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
38 set(j ${i})
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
39 list(APPEND _Gears_CSOURCES ${j})
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
40 endif()
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
41 endforeach(i)
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
42
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
43 add_custom_command (
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
44 OUTPUT c/${_Gears_TARGET}-context.c
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
45 DEPENDS ${_Gears_CBC_SOURCES}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
46 COMMAND "perl" "gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
47 )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
48 add_executable(${_Gears_TARGET} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} c/${_Gears_TARGET}-context.c )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
49 target_link_libraries(${_Gears_TARGET} ulib)
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
50 endmacro()
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
51
59
8f435de13b91 fix cmakefiles
tobaru
parents: 58
diff changeset
52 add_library(ulib STATIC ulib.c usys.S printf.c umalloc.c)
61
b3a3224e1823 fix link arguments...
anatofuz
parents: 60
diff changeset
53 #add_library(syslib string.c)
58
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
54
59
8f435de13b91 fix cmakefiles
tobaru
parents: 58
diff changeset
55 set(USRCOMMANDS cat echo grep init kill ln ls mkdir rm sh stressfs usertests wc zombie hello)
58
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
56
59
8f435de13b91 fix cmakefiles
tobaru
parents: 58
diff changeset
57 foreach(cmd ${USR_COMMANDS})
8f435de13b91 fix cmakefiles
tobaru
parents: 58
diff changeset
58 GearsCommand (TARGET _${cmd} SOURCES ${cmd}.c)
8f435de13b91 fix cmakefiles
tobaru
parents: 58
diff changeset
59 endforeach(cmd)
58
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
60
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
61 add_custom_command(OUTPUT fs.img
60
e5f099108a6e fix cmake link argument
anatofuz
parents: 59
diff changeset
62 COMMAND ../tools/mkfs fs.img ${USR_COMMAND} UNIX
58
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
63 DEPENDS ${USR_COMMANDS}
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
64 )
f1b965f53d3b add tools userlists
tobaru
parents:
diff changeset
65