]> Devi Nivas Git - cs3210-lab1.git/commitdiff
Added disassembly building for user-programs to makefile
authorDavid Devecsery <ddevec@gatech.edu>
Thu, 21 May 2020 16:55:17 +0000 (12:55 -0400)
committerDavid Devecsery <ddevec@gatech.edu>
Thu, 21 May 2020 16:55:17 +0000 (12:55 -0400)
user/CMakeLists.txt

index 8cb606f88ae1b3aa98273f283cd3d03516bb6fe5..6f5bc1ec6c5ec03e40ba039c2dd6b09fc9d38f86 100644 (file)
@@ -6,8 +6,6 @@ include_directories(include)
 
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static -fno-builtin -nostdinc -nostartfiles -nodefaultlibs -fno-pic -m32")
 set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}")
-#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -N -e main -Ttext 0")
-# FIXME: Maybe use... unclear
 set(CMAKE_C_LINK_EXECUTABLE "ld -m elf_i386 -N -e main -Ttext 0 <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
 
 # We need to do several things --
@@ -35,8 +33,13 @@ function(add_user_program program_src)
 
   # First, build the program
   add_executable(${output_exe} ${program_src} $<TARGET_OBJECTS:ulib>)
+
   # Second, disassemble the program
-  # Third, get symbols
+  add_custom_command(TARGET ${output_exe}
+    POST_BUILD
+    COMMAND objdump -S ${output_exe} > ${output_exe}.asm
+    COMMENT "Disassembling ${output_exe} > ${CMAKE_CURRENT_BINARY_DIR}/${output_exe}.asm"
+    BYPRODUCTS ${output_exe}.asm)
 endfunction(add_user_program)
 
 foreach(prog_src ${user_SOURCES})