# HG changeset patch # User anatofuz # Date 1564129250 -32400 # Node ID ab729eb8356b4bc4ead3d5653afdedf9b0129d2b # Parent a28580a75faa5a792f6e1c909e4b2ce9a944715d fix build usr command and fs.img diff -r a28580a75faa -r ab729eb8356b src/gearsTools/pmake.pl --- a/src/gearsTools/pmake.pl Thu Jul 25 20:04:17 2019 +0900 +++ b/src/gearsTools/pmake.pl Fri Jul 26 17:20:50 2019 +0900 @@ -2,7 +2,7 @@ use strict; use warnings; -my ($cc,$cflags,$asm,$ld,$ldflags,$libgcc,$cmake); +my ($cc,$cflags,$asm,$ld,$ldflags,$libgcc,$cmake,$kernel_cflags,$kernel_ld_flags,$kernel_ld_command); $cmake = 'cmake'; @@ -24,12 +24,17 @@ $cflags .= " $libgcc"; $cmake .= 3; $ldflags = " -L. -T kernel-cmake.ld"; + $kernel_cflags = '-march=armv6 -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -Werror -I. -g -O0 -iquote ../ -c'; + # -DX_CMAKE_C_LINK_EXECUTABLE=\"$ld $ldflags -o kernel.elf $libgcc -b binary initcode fs.img\" + $kernel_ld_flags = ' -L. -N -e main -Ttext 0 -o -L ../ /mnt/dalmore-home/one/src/gcc-arm-none-eabi-6-2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/libgcc.a'; + $kernel_ld_command = "$ld $kernel_ld_flags"; } $cflags =~ s/\n//g; create_link_script(); -#cmake -DCMAKE_LINKER=/path/to/linker -DCMAKE_CXX_LINK_EXECUTABLE=" -o " -print_exec_system($cmake, "-DGCC_LIB=$libgcc", "-DCBC_COM=$cc", "-DPMAKE_ARGS=\"$cflags\"","-DCMAKE_ASM_COMPILER=$cc","-DX_CMAKE_LINKER=$ld","-DX_CMAKE_C_LINK_EXECUTABLE=\"$ld $ldflags -o kernel.elf $libgcc -b binary initcode fs.img\"","-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE",@ARGV); + +print_exec_system($cmake, "-DGCC_LIB=$libgcc", "-DCBC_COM=$cc", "-DPMAKE_ARGS=\"$cflags\"","-DCMAKE_ASM_COMPILER=$cc","-DX_CMAKE_LINKER=$ld","-DX_CMAKE_C_LINK_EXECUTABLE=\"$ld $ldflags -o kernel.elf $libgcc -b binary initcode fs.img\"","-DKERNEL_LINK_EXECUTABLE=\"$kernel_ld_command\"","-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE",@ARGV); + system("make"); #system("sh","link.sh"); diff -r a28580a75faa -r ab729eb8356b src/usr/CMakeLists.txt --- a/src/usr/CMakeLists.txt Thu Jul 25 20:04:17 2019 +0900 +++ b/src/usr/CMakeLists.txt Fri Jul 26 17:20:50 2019 +0900 @@ -8,7 +8,8 @@ set(CMAKE_C_COMPILER "${CBC_COM}") include_directories("..") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdlib") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ") +set(CMAKE_C_LINK_EXECUTABLE "${KERNEL_LINK_EXECUTABLE}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_LIB} -nostdlib") macro( GearsCommand ) @@ -60,7 +61,12 @@ GearsCommand (TARGET _${cmd} SOURCES ${cmd}.c) endforeach(cmd) -add_custom_target(fs.img - COMMAND ../tools/mkfs fs.img ${USR_COMMANDS} UNIX +set(_USR_COMMANDS) +foreach (i ${USR_COMMANDS}) + list(APPEND _USR_COMMANDS "_${i}") +endforeach(i) + +add_custom_target(fs.img ALL + COMMAND ../tools/mkfs fs.img ${_USR_COMMANDS} UNIX DEPENDS ${USR_COMMANDS} )