Serialization Unit Testing

This commit is contained in:
Noah L. Schrick 2021-12-10 15:04:24 -06:00
parent 0a9cc3d1b4
commit 879c32ffa5
14 changed files with 20785 additions and 510 deletions

View File

@ -42,7 +42,7 @@ set(ENV{PKG_CONFIG_PATH} "/usr/local/lib/pkgconfig")
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
find_package(PostgreSQL REQUIRED) find_package(PostgreSQL REQUIRED)
find_package(OpenMP) find_package(OpenMP)
find_package(MPI) find_package(MPI REQUIRED)
find_package(BISON 2.4 REQUIRED) find_package(BISON 2.4 REQUIRED)
find_package(FLEX REQUIRED) find_package(FLEX REQUIRED)
@ -50,7 +50,6 @@ find_package(FLEX REQUIRED)
find_package(Boost REQUIRED mpi serialization graph) find_package(Boost REQUIRED mpi serialization graph)
include_directories(${Boost_INCLUDE_DIR}) include_directories(${Boost_INCLUDE_DIR})
find_package(OpenSSL) find_package(OpenSSL)
find_package(Doxygen) find_package(Doxygen)
@ -134,11 +133,11 @@ add_executable(ag_gen "${CMAKE_SOURCE_DIR}/src/main.cpp"
${FLEX_nm_scanner_OUTPUTS} ${BISON_nm_parser_OUTPUTS} ${FLEX_nm_scanner_OUTPUTS} ${BISON_nm_parser_OUTPUTS}
${FLEX_xp_scanner_OUTPUTS} ${BISON_xp_parser_OUTPUTS} ${FLEX_xp_scanner_OUTPUTS} ${BISON_xp_parser_OUTPUTS}
${ag_gen_src} ${utils_src} ${mpi_src}) ${ag_gen_src} ${utils_src} ${mpi_src})
target_link_libraries(ag_gen ${PostgreSQL_LIBRARIES} Boost::serialization Boost::mpi ${MPI_C_LIBRARIES}) target_link_libraries(ag_gen ${PostgreSQL_LIBRARIES} Boost::serialization Boost::mpi ${MPI_CXX_LIBRARIES})
add_executable(decode "${CMAKE_SOURCE_DIR}/src/tools/decode.cpp" #add_executable(decode "${CMAKE_SOURCE_DIR}/src/tools/decode.cpp"
${ag_gen_src} ${utils_src}) # ${ag_gen_src} ${utils_src})
target_link_libraries(decode ${PostgreSQL_LIBRARIES}) #target_link_libraries(decode ${PostgreSQL_LIBRARIES})
#add_executable(serialize "${CMAKE_SOURCE_DIR}/src/tests/serialize.cpp" #add_executable(serialize "${CMAKE_SOURCE_DIR}/src/tests/serialize.cpp"
# ${FLEX_nm_scanner_OUTPUTS} ${BISON_nm_parser_OUTPUTS} # ${FLEX_nm_scanner_OUTPUTS} ${BISON_nm_parser_OUTPUTS}
@ -153,7 +152,7 @@ if(CPPREDIS_FOUND)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DREDIS") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DREDIS")
target_link_libraries(ag_gen cpp_redis tacopie) target_link_libraries(ag_gen cpp_redis tacopie)
target_link_libraries(decode cpp_redis tacopie) #target_link_libraries(decode cpp_redis tacopie)
#target_link_libraries(serialize cpp_redis tacopie) #target_link_libraries(serialize cpp_redis tacopie)
endif() endif()

View File

@ -142,19 +142,6 @@ ag_gen/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/build $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/build
.PHONY : ag_gen/fast .PHONY : ag_gen/fast
#=============================================================================
# Target rules for targets named decode
# Build rule for target.
decode: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 decode
.PHONY : decode
# fast build rule for target.
decode/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/build
.PHONY : decode/fast
#============================================================================= #=============================================================================
# Target rules for targets named dynstr_test # Target rules for targets named dynstr_test
@ -222,7 +209,6 @@ src/ag_gen/ag_gen.o: src/ag_gen/ag_gen.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/ag_gen.cpp.o: src/ag_gen/ag_gen.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/ag_gen.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/ag_gen.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/ag_gen.cpp.o
.PHONY : src/ag_gen/ag_gen.cpp.o .PHONY : src/ag_gen/ag_gen.cpp.o
src/ag_gen/ag_gen.i: src/ag_gen/ag_gen.cpp.i src/ag_gen/ag_gen.i: src/ag_gen/ag_gen.cpp.i
@ -231,7 +217,6 @@ src/ag_gen/ag_gen.i: src/ag_gen/ag_gen.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/ag_gen.cpp.i: src/ag_gen/ag_gen.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/ag_gen.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/ag_gen.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/ag_gen.cpp.i
.PHONY : src/ag_gen/ag_gen.cpp.i .PHONY : src/ag_gen/ag_gen.cpp.i
src/ag_gen/ag_gen.s: src/ag_gen/ag_gen.cpp.s src/ag_gen/ag_gen.s: src/ag_gen/ag_gen.cpp.s
@ -240,7 +225,6 @@ src/ag_gen/ag_gen.s: src/ag_gen/ag_gen.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/ag_gen.cpp.s: src/ag_gen/ag_gen.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/ag_gen.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/ag_gen.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/ag_gen.cpp.s
.PHONY : src/ag_gen/ag_gen.cpp.s .PHONY : src/ag_gen/ag_gen.cpp.s
src/ag_gen/asset.o: src/ag_gen/asset.cpp.o src/ag_gen/asset.o: src/ag_gen/asset.cpp.o
@ -249,7 +233,6 @@ src/ag_gen/asset.o: src/ag_gen/asset.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/asset.cpp.o: src/ag_gen/asset.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/asset.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/asset.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/asset.cpp.o
.PHONY : src/ag_gen/asset.cpp.o .PHONY : src/ag_gen/asset.cpp.o
src/ag_gen/asset.i: src/ag_gen/asset.cpp.i src/ag_gen/asset.i: src/ag_gen/asset.cpp.i
@ -258,7 +241,6 @@ src/ag_gen/asset.i: src/ag_gen/asset.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/asset.cpp.i: src/ag_gen/asset.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/asset.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/asset.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/asset.cpp.i
.PHONY : src/ag_gen/asset.cpp.i .PHONY : src/ag_gen/asset.cpp.i
src/ag_gen/asset.s: src/ag_gen/asset.cpp.s src/ag_gen/asset.s: src/ag_gen/asset.cpp.s
@ -267,7 +249,6 @@ src/ag_gen/asset.s: src/ag_gen/asset.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/asset.cpp.s: src/ag_gen/asset.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/asset.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/asset.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/asset.cpp.s
.PHONY : src/ag_gen/asset.cpp.s .PHONY : src/ag_gen/asset.cpp.s
src/ag_gen/assetgroup.o: src/ag_gen/assetgroup.cpp.o src/ag_gen/assetgroup.o: src/ag_gen/assetgroup.cpp.o
@ -276,7 +257,6 @@ src/ag_gen/assetgroup.o: src/ag_gen/assetgroup.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/assetgroup.cpp.o: src/ag_gen/assetgroup.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/assetgroup.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/assetgroup.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/assetgroup.cpp.o
.PHONY : src/ag_gen/assetgroup.cpp.o .PHONY : src/ag_gen/assetgroup.cpp.o
src/ag_gen/assetgroup.i: src/ag_gen/assetgroup.cpp.i src/ag_gen/assetgroup.i: src/ag_gen/assetgroup.cpp.i
@ -285,7 +265,6 @@ src/ag_gen/assetgroup.i: src/ag_gen/assetgroup.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/assetgroup.cpp.i: src/ag_gen/assetgroup.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/assetgroup.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/assetgroup.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/assetgroup.cpp.i
.PHONY : src/ag_gen/assetgroup.cpp.i .PHONY : src/ag_gen/assetgroup.cpp.i
src/ag_gen/assetgroup.s: src/ag_gen/assetgroup.cpp.s src/ag_gen/assetgroup.s: src/ag_gen/assetgroup.cpp.s
@ -294,7 +273,6 @@ src/ag_gen/assetgroup.s: src/ag_gen/assetgroup.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/assetgroup.cpp.s: src/ag_gen/assetgroup.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/assetgroup.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/assetgroup.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/assetgroup.cpp.s
.PHONY : src/ag_gen/assetgroup.cpp.s .PHONY : src/ag_gen/assetgroup.cpp.s
src/ag_gen/edge.o: src/ag_gen/edge.cpp.o src/ag_gen/edge.o: src/ag_gen/edge.cpp.o
@ -303,7 +281,6 @@ src/ag_gen/edge.o: src/ag_gen/edge.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/edge.cpp.o: src/ag_gen/edge.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/edge.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/edge.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/edge.cpp.o
.PHONY : src/ag_gen/edge.cpp.o .PHONY : src/ag_gen/edge.cpp.o
src/ag_gen/edge.i: src/ag_gen/edge.cpp.i src/ag_gen/edge.i: src/ag_gen/edge.cpp.i
@ -312,7 +289,6 @@ src/ag_gen/edge.i: src/ag_gen/edge.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/edge.cpp.i: src/ag_gen/edge.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/edge.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/edge.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/edge.cpp.i
.PHONY : src/ag_gen/edge.cpp.i .PHONY : src/ag_gen/edge.cpp.i
src/ag_gen/edge.s: src/ag_gen/edge.cpp.s src/ag_gen/edge.s: src/ag_gen/edge.cpp.s
@ -321,7 +297,6 @@ src/ag_gen/edge.s: src/ag_gen/edge.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/edge.cpp.s: src/ag_gen/edge.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/edge.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/edge.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/edge.cpp.s
.PHONY : src/ag_gen/edge.cpp.s .PHONY : src/ag_gen/edge.cpp.s
src/ag_gen/exploit.o: src/ag_gen/exploit.cpp.o src/ag_gen/exploit.o: src/ag_gen/exploit.cpp.o
@ -330,7 +305,6 @@ src/ag_gen/exploit.o: src/ag_gen/exploit.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/exploit.cpp.o: src/ag_gen/exploit.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/exploit.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/exploit.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/exploit.cpp.o
.PHONY : src/ag_gen/exploit.cpp.o .PHONY : src/ag_gen/exploit.cpp.o
src/ag_gen/exploit.i: src/ag_gen/exploit.cpp.i src/ag_gen/exploit.i: src/ag_gen/exploit.cpp.i
@ -339,7 +313,6 @@ src/ag_gen/exploit.i: src/ag_gen/exploit.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/exploit.cpp.i: src/ag_gen/exploit.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/exploit.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/exploit.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/exploit.cpp.i
.PHONY : src/ag_gen/exploit.cpp.i .PHONY : src/ag_gen/exploit.cpp.i
src/ag_gen/exploit.s: src/ag_gen/exploit.cpp.s src/ag_gen/exploit.s: src/ag_gen/exploit.cpp.s
@ -348,7 +321,6 @@ src/ag_gen/exploit.s: src/ag_gen/exploit.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/exploit.cpp.s: src/ag_gen/exploit.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/exploit.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/exploit.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/exploit.cpp.s
.PHONY : src/ag_gen/exploit.cpp.s .PHONY : src/ag_gen/exploit.cpp.s
src/ag_gen/factbase.o: src/ag_gen/factbase.cpp.o src/ag_gen/factbase.o: src/ag_gen/factbase.cpp.o
@ -357,7 +329,6 @@ src/ag_gen/factbase.o: src/ag_gen/factbase.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/factbase.cpp.o: src/ag_gen/factbase.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/factbase.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/factbase.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/factbase.cpp.o
.PHONY : src/ag_gen/factbase.cpp.o .PHONY : src/ag_gen/factbase.cpp.o
src/ag_gen/factbase.i: src/ag_gen/factbase.cpp.i src/ag_gen/factbase.i: src/ag_gen/factbase.cpp.i
@ -366,7 +337,6 @@ src/ag_gen/factbase.i: src/ag_gen/factbase.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/factbase.cpp.i: src/ag_gen/factbase.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/factbase.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/factbase.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/factbase.cpp.i
.PHONY : src/ag_gen/factbase.cpp.i .PHONY : src/ag_gen/factbase.cpp.i
src/ag_gen/factbase.s: src/ag_gen/factbase.cpp.s src/ag_gen/factbase.s: src/ag_gen/factbase.cpp.s
@ -375,7 +345,6 @@ src/ag_gen/factbase.s: src/ag_gen/factbase.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/factbase.cpp.s: src/ag_gen/factbase.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/factbase.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/factbase.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/factbase.cpp.s
.PHONY : src/ag_gen/factbase.cpp.s .PHONY : src/ag_gen/factbase.cpp.s
src/ag_gen/network_state.o: src/ag_gen/network_state.cpp.o src/ag_gen/network_state.o: src/ag_gen/network_state.cpp.o
@ -384,7 +353,6 @@ src/ag_gen/network_state.o: src/ag_gen/network_state.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/network_state.cpp.o: src/ag_gen/network_state.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/network_state.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/network_state.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/network_state.cpp.o
.PHONY : src/ag_gen/network_state.cpp.o .PHONY : src/ag_gen/network_state.cpp.o
src/ag_gen/network_state.i: src/ag_gen/network_state.cpp.i src/ag_gen/network_state.i: src/ag_gen/network_state.cpp.i
@ -393,7 +361,6 @@ src/ag_gen/network_state.i: src/ag_gen/network_state.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/network_state.cpp.i: src/ag_gen/network_state.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/network_state.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/network_state.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/network_state.cpp.i
.PHONY : src/ag_gen/network_state.cpp.i .PHONY : src/ag_gen/network_state.cpp.i
src/ag_gen/network_state.s: src/ag_gen/network_state.cpp.s src/ag_gen/network_state.s: src/ag_gen/network_state.cpp.s
@ -402,7 +369,6 @@ src/ag_gen/network_state.s: src/ag_gen/network_state.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/network_state.cpp.s: src/ag_gen/network_state.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/network_state.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/network_state.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/network_state.cpp.s
.PHONY : src/ag_gen/network_state.cpp.s .PHONY : src/ag_gen/network_state.cpp.s
src/ag_gen/quality.o: src/ag_gen/quality.cpp.o src/ag_gen/quality.o: src/ag_gen/quality.cpp.o
@ -411,7 +377,6 @@ src/ag_gen/quality.o: src/ag_gen/quality.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/quality.cpp.o: src/ag_gen/quality.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/quality.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/quality.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/quality.cpp.o
.PHONY : src/ag_gen/quality.cpp.o .PHONY : src/ag_gen/quality.cpp.o
src/ag_gen/quality.i: src/ag_gen/quality.cpp.i src/ag_gen/quality.i: src/ag_gen/quality.cpp.i
@ -420,7 +385,6 @@ src/ag_gen/quality.i: src/ag_gen/quality.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/quality.cpp.i: src/ag_gen/quality.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/quality.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/quality.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/quality.cpp.i
.PHONY : src/ag_gen/quality.cpp.i .PHONY : src/ag_gen/quality.cpp.i
src/ag_gen/quality.s: src/ag_gen/quality.cpp.s src/ag_gen/quality.s: src/ag_gen/quality.cpp.s
@ -429,7 +393,6 @@ src/ag_gen/quality.s: src/ag_gen/quality.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/quality.cpp.s: src/ag_gen/quality.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/quality.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/quality.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/quality.cpp.s
.PHONY : src/ag_gen/quality.cpp.s .PHONY : src/ag_gen/quality.cpp.s
src/ag_gen/topology.o: src/ag_gen/topology.cpp.o src/ag_gen/topology.o: src/ag_gen/topology.cpp.o
@ -438,7 +401,6 @@ src/ag_gen/topology.o: src/ag_gen/topology.cpp.o
# target to build an object file # target to build an object file
src/ag_gen/topology.cpp.o: src/ag_gen/topology.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/topology.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/topology.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/topology.cpp.o
.PHONY : src/ag_gen/topology.cpp.o .PHONY : src/ag_gen/topology.cpp.o
src/ag_gen/topology.i: src/ag_gen/topology.cpp.i src/ag_gen/topology.i: src/ag_gen/topology.cpp.i
@ -447,7 +409,6 @@ src/ag_gen/topology.i: src/ag_gen/topology.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/ag_gen/topology.cpp.i: src/ag_gen/topology.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/topology.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/topology.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/topology.cpp.i
.PHONY : src/ag_gen/topology.cpp.i .PHONY : src/ag_gen/topology.cpp.i
src/ag_gen/topology.s: src/ag_gen/topology.cpp.s src/ag_gen/topology.s: src/ag_gen/topology.cpp.s
@ -456,7 +417,6 @@ src/ag_gen/topology.s: src/ag_gen/topology.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/ag_gen/topology.cpp.s: src/ag_gen/topology.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/topology.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/ag_gen/topology.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/ag_gen/topology.cpp.s
.PHONY : src/ag_gen/topology.cpp.s .PHONY : src/ag_gen/topology.cpp.s
src/main.o: src/main.cpp.o src/main.o: src/main.cpp.o
@ -555,37 +515,12 @@ src/tests/mem_test.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/tests/mem_test.c.s $(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/tests/mem_test.c.s
.PHONY : src/tests/mem_test.c.s .PHONY : src/tests/mem_test.c.s
src/tools/decode.o: src/tools/decode.cpp.o
.PHONY : src/tools/decode.o
# target to build an object file
src/tools/decode.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/tools/decode.cpp.o
.PHONY : src/tools/decode.cpp.o
src/tools/decode.i: src/tools/decode.cpp.i
.PHONY : src/tools/decode.i
# target to preprocess a source file
src/tools/decode.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/tools/decode.cpp.i
.PHONY : src/tools/decode.cpp.i
src/tools/decode.s: src/tools/decode.cpp.s
.PHONY : src/tools/decode.s
# target to generate assembly for a file
src/tools/decode.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/tools/decode.cpp.s
.PHONY : src/tools/decode.cpp.s
src/util/avail_mem.o: src/util/avail_mem.cpp.o src/util/avail_mem.o: src/util/avail_mem.cpp.o
.PHONY : src/util/avail_mem.o .PHONY : src/util/avail_mem.o
# target to build an object file # target to build an object file
src/util/avail_mem.cpp.o: src/util/avail_mem.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/avail_mem.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/avail_mem.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/avail_mem.cpp.o
.PHONY : src/util/avail_mem.cpp.o .PHONY : src/util/avail_mem.cpp.o
src/util/avail_mem.i: src/util/avail_mem.cpp.i src/util/avail_mem.i: src/util/avail_mem.cpp.i
@ -594,7 +529,6 @@ src/util/avail_mem.i: src/util/avail_mem.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/util/avail_mem.cpp.i: src/util/avail_mem.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/avail_mem.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/avail_mem.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/avail_mem.cpp.i
.PHONY : src/util/avail_mem.cpp.i .PHONY : src/util/avail_mem.cpp.i
src/util/avail_mem.s: src/util/avail_mem.cpp.s src/util/avail_mem.s: src/util/avail_mem.cpp.s
@ -603,7 +537,6 @@ src/util/avail_mem.s: src/util/avail_mem.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/avail_mem.cpp.s: src/util/avail_mem.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/avail_mem.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/avail_mem.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/avail_mem.cpp.s
.PHONY : src/util/avail_mem.cpp.s .PHONY : src/util/avail_mem.cpp.s
src/util/build_sql.o: src/util/build_sql.c.o src/util/build_sql.o: src/util/build_sql.c.o
@ -612,7 +545,6 @@ src/util/build_sql.o: src/util/build_sql.c.o
# target to build an object file # target to build an object file
src/util/build_sql.c.o: src/util/build_sql.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/build_sql.c.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/build_sql.c.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/build_sql.c.o
.PHONY : src/util/build_sql.c.o .PHONY : src/util/build_sql.c.o
src/util/build_sql.i: src/util/build_sql.c.i src/util/build_sql.i: src/util/build_sql.c.i
@ -621,7 +553,6 @@ src/util/build_sql.i: src/util/build_sql.c.i
# target to preprocess a source file # target to preprocess a source file
src/util/build_sql.c.i: src/util/build_sql.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/build_sql.c.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/build_sql.c.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/build_sql.c.i
.PHONY : src/util/build_sql.c.i .PHONY : src/util/build_sql.c.i
src/util/build_sql.s: src/util/build_sql.c.s src/util/build_sql.s: src/util/build_sql.c.s
@ -630,7 +561,6 @@ src/util/build_sql.s: src/util/build_sql.c.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/build_sql.c.s: src/util/build_sql.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/build_sql.c.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/build_sql.c.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/build_sql.c.s
.PHONY : src/util/build_sql.c.s .PHONY : src/util/build_sql.c.s
src/util/common.o: src/util/common.cpp.o src/util/common.o: src/util/common.cpp.o
@ -639,7 +569,6 @@ src/util/common.o: src/util/common.cpp.o
# target to build an object file # target to build an object file
src/util/common.cpp.o: src/util/common.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/common.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/common.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/common.cpp.o
.PHONY : src/util/common.cpp.o .PHONY : src/util/common.cpp.o
src/util/common.i: src/util/common.cpp.i src/util/common.i: src/util/common.cpp.i
@ -648,7 +577,6 @@ src/util/common.i: src/util/common.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/util/common.cpp.i: src/util/common.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/common.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/common.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/common.cpp.i
.PHONY : src/util/common.cpp.i .PHONY : src/util/common.cpp.i
src/util/common.s: src/util/common.cpp.s src/util/common.s: src/util/common.cpp.s
@ -657,7 +585,6 @@ src/util/common.s: src/util/common.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/common.cpp.s: src/util/common.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/common.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/common.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/common.cpp.s
.PHONY : src/util/common.cpp.s .PHONY : src/util/common.cpp.s
src/util/db_functions.o: src/util/db_functions.cpp.o src/util/db_functions.o: src/util/db_functions.cpp.o
@ -666,7 +593,6 @@ src/util/db_functions.o: src/util/db_functions.cpp.o
# target to build an object file # target to build an object file
src/util/db_functions.cpp.o: src/util/db_functions.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/db_functions.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/db_functions.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/db_functions.cpp.o
.PHONY : src/util/db_functions.cpp.o .PHONY : src/util/db_functions.cpp.o
src/util/db_functions.i: src/util/db_functions.cpp.i src/util/db_functions.i: src/util/db_functions.cpp.i
@ -675,7 +601,6 @@ src/util/db_functions.i: src/util/db_functions.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/util/db_functions.cpp.i: src/util/db_functions.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/db_functions.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/db_functions.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/db_functions.cpp.i
.PHONY : src/util/db_functions.cpp.i .PHONY : src/util/db_functions.cpp.i
src/util/db_functions.s: src/util/db_functions.cpp.s src/util/db_functions.s: src/util/db_functions.cpp.s
@ -684,7 +609,6 @@ src/util/db_functions.s: src/util/db_functions.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/db_functions.cpp.s: src/util/db_functions.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/db_functions.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/db_functions.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/db_functions.cpp.s
.PHONY : src/util/db_functions.cpp.s .PHONY : src/util/db_functions.cpp.s
src/util/hash.o: src/util/hash.c.o src/util/hash.o: src/util/hash.c.o
@ -693,7 +617,6 @@ src/util/hash.o: src/util/hash.c.o
# target to build an object file # target to build an object file
src/util/hash.c.o: src/util/hash.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/hash.c.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/hash.c.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/hash.c.o
.PHONY : src/util/hash.c.o .PHONY : src/util/hash.c.o
src/util/hash.i: src/util/hash.c.i src/util/hash.i: src/util/hash.c.i
@ -702,7 +625,6 @@ src/util/hash.i: src/util/hash.c.i
# target to preprocess a source file # target to preprocess a source file
src/util/hash.c.i: src/util/hash.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/hash.c.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/hash.c.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/hash.c.i
.PHONY : src/util/hash.c.i .PHONY : src/util/hash.c.i
src/util/hash.s: src/util/hash.c.s src/util/hash.s: src/util/hash.c.s
@ -711,7 +633,6 @@ src/util/hash.s: src/util/hash.c.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/hash.c.s: src/util/hash.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/hash.c.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/hash.c.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/hash.c.s
.PHONY : src/util/hash.c.s .PHONY : src/util/hash.c.s
src/util/list.o: src/util/list.c.o src/util/list.o: src/util/list.c.o
@ -720,7 +641,6 @@ src/util/list.o: src/util/list.c.o
# target to build an object file # target to build an object file
src/util/list.c.o: src/util/list.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/list.c.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/list.c.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/list.c.o
.PHONY : src/util/list.c.o .PHONY : src/util/list.c.o
src/util/list.i: src/util/list.c.i src/util/list.i: src/util/list.c.i
@ -729,7 +649,6 @@ src/util/list.i: src/util/list.c.i
# target to preprocess a source file # target to preprocess a source file
src/util/list.c.i: src/util/list.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/list.c.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/list.c.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/list.c.i
.PHONY : src/util/list.c.i .PHONY : src/util/list.c.i
src/util/list.s: src/util/list.c.s src/util/list.s: src/util/list.c.s
@ -738,7 +657,6 @@ src/util/list.s: src/util/list.c.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/list.c.s: src/util/list.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/list.c.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/list.c.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/list.c.s
.PHONY : src/util/list.c.s .PHONY : src/util/list.c.s
src/util/mem.o: src/util/mem.c.o src/util/mem.o: src/util/mem.c.o
@ -747,7 +665,6 @@ src/util/mem.o: src/util/mem.c.o
# target to build an object file # target to build an object file
src/util/mem.c.o: src/util/mem.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/mem.c.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.o $(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.o
.PHONY : src/util/mem.c.o .PHONY : src/util/mem.c.o
@ -757,7 +674,6 @@ src/util/mem.i: src/util/mem.c.i
# target to preprocess a source file # target to preprocess a source file
src/util/mem.c.i: src/util/mem.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/mem.c.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.i $(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.i
.PHONY : src/util/mem.c.i .PHONY : src/util/mem.c.i
@ -767,7 +683,6 @@ src/util/mem.s: src/util/mem.c.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/mem.c.s: src/util/mem.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/mem.c.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/mem.c.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.s $(MAKE) $(MAKESILENT) -f CMakeFiles/dynstr_test.dir/build.make CMakeFiles/dynstr_test.dir/src/util/mem.c.s
.PHONY : src/util/mem.c.s .PHONY : src/util/mem.c.s
@ -777,7 +692,6 @@ src/util/redis_manager.o: src/util/redis_manager.cpp.o
# target to build an object file # target to build an object file
src/util/redis_manager.cpp.o: src/util/redis_manager.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/redis_manager.cpp.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/redis_manager.cpp.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/redis_manager.cpp.o
.PHONY : src/util/redis_manager.cpp.o .PHONY : src/util/redis_manager.cpp.o
src/util/redis_manager.i: src/util/redis_manager.cpp.i src/util/redis_manager.i: src/util/redis_manager.cpp.i
@ -786,7 +700,6 @@ src/util/redis_manager.i: src/util/redis_manager.cpp.i
# target to preprocess a source file # target to preprocess a source file
src/util/redis_manager.cpp.i: src/util/redis_manager.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/redis_manager.cpp.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/redis_manager.cpp.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/redis_manager.cpp.i
.PHONY : src/util/redis_manager.cpp.i .PHONY : src/util/redis_manager.cpp.i
src/util/redis_manager.s: src/util/redis_manager.cpp.s src/util/redis_manager.s: src/util/redis_manager.cpp.s
@ -795,7 +708,6 @@ src/util/redis_manager.s: src/util/redis_manager.cpp.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/redis_manager.cpp.s: src/util/redis_manager.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/redis_manager.cpp.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/redis_manager.cpp.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/redis_manager.cpp.s
.PHONY : src/util/redis_manager.cpp.s .PHONY : src/util/redis_manager.cpp.s
src/util/str_array.o: src/util/str_array.c.o src/util/str_array.o: src/util/str_array.c.o
@ -804,7 +716,6 @@ src/util/str_array.o: src/util/str_array.c.o
# target to build an object file # target to build an object file
src/util/str_array.c.o: src/util/str_array.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/str_array.c.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/str_array.c.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/str_array.c.o
.PHONY : src/util/str_array.c.o .PHONY : src/util/str_array.c.o
src/util/str_array.i: src/util/str_array.c.i src/util/str_array.i: src/util/str_array.c.i
@ -813,7 +724,6 @@ src/util/str_array.i: src/util/str_array.c.i
# target to preprocess a source file # target to preprocess a source file
src/util/str_array.c.i: src/util/str_array.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/str_array.c.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/str_array.c.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/str_array.c.i
.PHONY : src/util/str_array.c.i .PHONY : src/util/str_array.c.i
src/util/str_array.s: src/util/str_array.c.s src/util/str_array.s: src/util/str_array.c.s
@ -822,7 +732,6 @@ src/util/str_array.s: src/util/str_array.c.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/str_array.c.s: src/util/str_array.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/str_array.c.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/str_array.c.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/str_array.c.s
.PHONY : src/util/str_array.c.s .PHONY : src/util/str_array.c.s
src/util/vector.o: src/util/vector.c.o src/util/vector.o: src/util/vector.c.o
@ -831,7 +740,6 @@ src/util/vector.o: src/util/vector.c.o
# target to build an object file # target to build an object file
src/util/vector.c.o: src/util/vector.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/vector.c.o $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/vector.c.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/vector.c.o
.PHONY : src/util/vector.c.o .PHONY : src/util/vector.c.o
src/util/vector.i: src/util/vector.c.i src/util/vector.i: src/util/vector.c.i
@ -840,7 +748,6 @@ src/util/vector.i: src/util/vector.c.i
# target to preprocess a source file # target to preprocess a source file
src/util/vector.c.i: src/util/vector.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/vector.c.i $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/vector.c.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/vector.c.i
.PHONY : src/util/vector.c.i .PHONY : src/util/vector.c.i
src/util/vector.s: src/util/vector.c.s src/util/vector.s: src/util/vector.c.s
@ -849,7 +756,6 @@ src/util/vector.s: src/util/vector.c.s
# target to generate assembly for a file # target to generate assembly for a file
src/util/vector.c.s: src/util/vector.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/vector.c.s $(MAKE) $(MAKESILENT) -f CMakeFiles/ag_gen.dir/build.make CMakeFiles/ag_gen.dir/src/util/vector.c.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/decode.dir/build.make CMakeFiles/decode.dir/src/util/vector.c.s
.PHONY : src/util/vector.c.s .PHONY : src/util/vector.c.s
xp_parser.o: xp_parser.c.o xp_parser.o: xp_parser.c.o
@ -910,7 +816,6 @@ help:
@echo "... rebuild_cache" @echo "... rebuild_cache"
@echo "... doc" @echo "... doc"
@echo "... ag_gen" @echo "... ag_gen"
@echo "... decode"
@echo "... dynstr_test" @echo "... dynstr_test"
@echo "... nm_parser.o" @echo "... nm_parser.o"
@echo "... nm_parser.i" @echo "... nm_parser.i"
@ -957,9 +862,6 @@ help:
@echo "... src/tests/mem_test.o" @echo "... src/tests/mem_test.o"
@echo "... src/tests/mem_test.i" @echo "... src/tests/mem_test.i"
@echo "... src/tests/mem_test.s" @echo "... src/tests/mem_test.s"
@echo "... src/tools/decode.o"
@echo "... src/tools/decode.i"
@echo "... src/tools/decode.s"
@echo "... src/util/avail_mem.o" @echo "... src/util/avail_mem.o"
@echo "... src/util/avail_mem.i" @echo "... src/util/avail_mem.i"
@echo "... src/util/avail_mem.s" @echo "... src/util/avail_mem.s"

Binary file not shown.

View File

@ -13,7 +13,7 @@ export LD_LIBRARY_PATH=/home/nschrick/pkg/postgresql/12.4/lib
NUM_SERV=${1:-1} NUM_SERV=${1:-1}
TYPE=${2:-sync} TYPE=${2:-sync}
CARS=${3:-2} CARS=${3:-2}
DBNAME=${4:-default} DBNAME=${4:-tmp}
module load graphviz module load graphviz
module load gcc module load gcc

View File

@ -11,4 +11,3 @@ fi
cmake -DCMAKE_BUILD_TYPE=Debug ../ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON cmake -DCMAKE_BUILD_TYPE=Debug ../ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
make ag_gen make ag_gen
make decode

View File

@ -129,106 +129,6 @@
"command": "/usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/mpi/tasks.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/mpi/tasks.cpp\"", "command": "/usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_MPI_DYN_LINK -DBOOST_SERIALIZATION_DYN_LINK -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -pthread -o CMakeFiles/ag_gen.dir/src/mpi/tasks.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/mpi/tasks.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/mpi/tasks.cpp" "file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/mpi/tasks.cpp"
}, },
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/tools/decode.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/tools/decode.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/tools/decode.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/ag_gen.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/ag_gen.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/ag_gen.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/asset.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/asset.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/asset.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/assetgroup.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/assetgroup.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/assetgroup.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/edge.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/edge.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/edge.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/exploit.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/exploit.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/exploit.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/factbase.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/factbase.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/factbase.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/network_state.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/network_state.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/network_state.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/quality.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/quality.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/quality.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/ag_gen/topology.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/topology.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/ag_gen/topology.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/util/avail_mem.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/avail_mem.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/avail_mem.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/decode.dir/src/util/build_sql.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/build_sql.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/build_sql.c"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/util/common.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/common.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/common.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/util/db_functions.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/db_functions.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/db_functions.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/decode.dir/src/util/hash.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/hash.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/hash.c"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/decode.dir/src/util/list.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/list.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/list.c"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/decode.dir/src/util/mem.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/mem.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/mem.c"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/c++ -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -std=c++14 -fopenmp -DREDIS -g -g -O0 -ggdb -Wall -fopenmp -pedantic -o CMakeFiles/decode.dir/src/util/redis_manager.cpp.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/redis_manager.cpp\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/redis_manager.cpp"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/decode.dir/src/util/str_array.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/str_array.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/str_array.c"
},
{
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/decode.dir/src/util/vector.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/vector.c\"",
"file": "/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/vector.c"
},
{ {
"directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build", "directory": "/home/noah/Documents/School/Thesis Work/ag_parallel/build",
"command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/dynstr_test.dir/src/util/mem.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/mem.c\"", "command": "/usr/bin/cc -I/usr/include/postgresql -I\"/home/noah/Documents/School/Thesis Work/ag_parallel/src\" -g -o CMakeFiles/dynstr_test.dir/src/util/mem.c.o -c \"/home/noah/Documents/School/Thesis Work/ag_parallel/src/util/mem.c\"",

Binary file not shown.

View File

@ -1,10 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#Optional Arguments for running batches of tests #Optional Arguments for running batches of tests
NUM_SERV=${1:-foo} NUM_SERV=${1:-1}
TYPE=${2:-foo2} TYPE=${2:-sync}
CARS=${3:-foo3} CARS=${3:-2}
DBNAME=${4:-default} DBNAME=${4:-tmp}
ITFC="eth0"
strval1="sync" strval1="sync"
strval2="non-sync" strval2="non-sync"
@ -39,6 +40,8 @@ else
psql postgres -c "CREATE DATABASE "$DBNAME" WITH OWNER = ag_gen" psql postgres -c "CREATE DATABASE "$DBNAME" WITH OWNER = ag_gen"
psql -q "$DBNAME" < schema.sql psql -q "$DBNAME" < schema.sql
fi fi
ITFC="wlp2s0"
fi fi
#./ag_gen -n ../car_examples/generic_timeline_maintenance.nm -x ../car_examples/tmp.xp -g DOTFILE.dot -t 1 -q 1 #./ag_gen -n ../car_examples/generic_timeline_maintenance.nm -x ../car_examples/tmp.xp -g DOTFILE.dot -t 1 -q 1
@ -47,15 +50,15 @@ fi
if [ "$TYPE" == "$strval1" ]; then if [ "$TYPE" == "$strval1" ]; then
#./ag_gen -n ../Feb_2021/generic_timeline_maintenance.nm -x ../Feb_2021/Sync/"$NUM_SERV"_Serv/sync_timeline_maintenance.xp -g DOTFILE.dot -t 1 -q 1 -p -a 0.9 #./ag_gen -n ../Feb_2021/generic_timeline_maintenance.nm -x ../Feb_2021/Sync/"$NUM_SERV"_Serv/sync_timeline_maintenance.xp -g DOTFILE.dot -t 1 -q 1 -p -a 0.9
./ag_gen -n ../Oct_2021/nm_files/"$CARS"_car_timeline_maintenance.nm -x ../Oct_2021/Sync/4_Exploits/"$NUM_SERV"_Serv/sync_timeline_maintenance.xp -t 1 -q 1 -p -a 0.6 -z "$DBNAME" mpirun --mca btl tcp,self --mca btl_tcp_if_include "$ITFC" --mca opal_warn_on_missing_libcuda 0 ./ag_gen -n ../Oct_2021/nm_files/"$CARS"_car_timeline_maintenance.nm -x ../Oct_2021/Sync/4_Exploits/"$NUM_SERV"_Serv/sync_timeline_maintenance.xp -t 1 -q 1 -p -a 0.6 -z "$DBNAME"
elif [ "$TYPE" == "$strval2" ]; then elif [ "$TYPE" == "$strval2" ]; then
#./ag_gen -n ../Feb_2021/generic_timeline_maintenance.nm -x ../Feb_2021/Non_Sync/"$NUM_SERV"_Serv/generic_timeline_maintenance.xp -g DOTFILE.dot -t 1 -q 1 -p -a 0.9 #./ag_gen -n ../Feb_2021/generic_timeline_maintenance.nm -x ../Feb_2021/Non_Sync/"$NUM_SERV"_Serv/generic_timeline_maintenance.xp -g DOTFILE.dot -t 1 -q 1 -p -a 0.9
mpirun --mca btl tcp,self --mca btl_tcp_if_include eth0 ./ag_gen -n ../Oct_2021/nm_files/"$CARS"_car_timeline_maintenance.nm -x ../Oct_2021/Non_Sync/4_Exploits/"$NUM_SERV"_Serv/generic_timeline_maintenance.xp -t 1 -q 1 -p -a 0.6 -z "$DBNAME" mpirun --mca btl tcp,self --mca btl_tcp_if_include "$ITFC" --mca opal_warn_on_missing_libcuda 0 ./ag_gen -n ../Oct_2021/nm_files/"$CARS"_car_timeline_maintenance.nm -x ../Oct_2021/Non_Sync/4_Exploits/"$NUM_SERV"_Serv/generic_timeline_maintenance.xp -t 1 -q 1 -p -a 0.6 -z "$DBNAME"
else else
echo "Running default." echo "Running default."
./ag_gen -n ../Oct_2021/nm_files/1_car_timeline_maintenance.nm -x ../Oct_2021/Sync/4_Exploits/1_Serv/sync_timeline_maintenance.xp -t 1 -q 1 -p -a 0.6 -z "$DBNAME" mpirun --mca btl tcp,self --mca btl_tcp_if_include "$ITFC" --mca opal_warn_on_missing_libcuda 0 ./ag_gen -n ../Oct_2021/nm_files/1_car_timeline_maintenance.nm -x ../Oct_2021/Sync/4_Exploits/1_Serv/sync_timeline_maintenance.xp -t 1 -q 1 -p -a 0.6 -z "$DBNAME"
fi fi

File diff suppressed because it is too large Load Diff

View File

@ -18,6 +18,24 @@
#include "../util/avail_mem.h" #include "../util/avail_mem.h"
#include "../mpi/tasks.h" #include "../mpi/tasks.h"
#include <boost/archive/tmpdir.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/serialization/base_object.hpp>
#include <boost/serialization/utility.hpp>
#include <boost/serialization/list.hpp>
#include <boost/serialization/assume_abstract.hpp>
#include <boost/serialization/string.hpp>
#include <boost/mpi.hpp>
#include <boost/mpi/environment.hpp>
#include <boost/mpi/communicator.hpp>
#include <boost/serialization/is_bitwise_serializable.hpp>
namespace mpi = boost::mpi;
#ifdef REDIS #ifdef REDIS
/** /**
@ -132,7 +150,9 @@ createPostConditions(std::tuple<Exploit, AssetGroup> &group, Keyvalue &facts) {
* break and continue checking with the next exploit. * break and continue checking with the next exploit.
* 5. Push the new network state onto the frontier to be expanded later. * 5. Push the new network state onto the frontier to be expanded later.
*/ */
AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd, int initQSize, double mem_threshold) { AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd, int initQSize,\
double mem_threshold, boost::mpi::communicator &world) {
std::vector<Exploit> exploit_list = instance.exploits; std::vector<Exploit> exploit_list = instance.exploits;
//Create a vector that contains all the groups of exploits to be fired synchonously //Create a vector that contains all the groups of exploits to be fired synchonously
@ -660,7 +680,8 @@ AGGenInstance &AGGen::generate(bool batch_process, int batch_size, int numThrd,
//printf("The critical took %lf s.\n",total_t); //printf("The critical took %lf s.\n",total_t);
gettimeofday(&t2,NULL); gettimeofday(&t2,NULL);
total_t+=(t2.tv_sec-t1.tv_sec)*1000.0+(t2.tv_usec-t1.tv_usec)/1000.0; total_t+=(t2.tv_sec-t1.tv_sec)*1000.0+(t2.tv_usec-t1.tv_usec)/1000.0;
printf("AG TOOK %lf s.\n", total_t); std::cout << "Graph generation took " << total_t << " ms for process " << world.rank() << std::endl;
printf("AG TOOK %lf ms.\n", total_t);
auto end = std::chrono::system_clock::now(); auto end = std::chrono::system_clock::now();

View File

@ -21,6 +21,24 @@
#include "../util/redis_manager.h" #include "../util/redis_manager.h"
#endif #endif
#include <boost/archive/tmpdir.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/serialization/base_object.hpp>
#include <boost/serialization/utility.hpp>
#include <boost/serialization/list.hpp>
#include <boost/serialization/assume_abstract.hpp>
#include <boost/serialization/string.hpp>
#include <boost/mpi.hpp>
#include <boost/mpi/environment.hpp>
#include <boost/mpi/communicator.hpp>
#include <boost/serialization/is_bitwise_serializable.hpp>
namespace mpi = boost::mpi;
using FactbaseItems = using FactbaseItems =
std::tuple<std::tuple<std::vector<Quality>, std::vector<Topology>>, int>; std::tuple<std::tuple<std::vector<Quality>, std::vector<Topology>>, int>;
@ -68,7 +86,8 @@ class AGGen {
AGGen(AGGenInstance &_instance, RedisManager &_rman); AGGen(AGGenInstance &_instance, RedisManager &_rman);
#endif #endif
AGGenInstance &generate(bool batch_process, int batch_num, int numThrd, int initQSize, double mem_threshold); AGGenInstance &generate(bool batch_process, int batch_num, int numThrd,\
int initQSize, double mem_threshold, boost::mpi::communicator &world);
}; };
#endif // AG_GEN_HPP #endif // AG_GEN_HPP

View File

@ -46,9 +46,10 @@ class Factbase {
template<class Archive> template<class Archive>
void serialize(Archive &ar, const unsigned int /* file_version */){ void serialize(Archive &ar, const unsigned int /* file_version */){
ar & id; ar & qualities & topologies;
ar & qualities; //ar & current_id & id & qsize & tsize & qualities & topologies;
ar & topologies; //ar & qualities;
//ar & topologies;
} }
public: public:

View File

@ -515,121 +515,108 @@ int main(int argc, char *argv[]) {
} }
std::cout << "Arguments parsed." << std::endl; std::cout << "Arguments parsed." << std::endl;
/*
// Initialize the MPI environment
MPI_Init(NULL, NULL);
// Get the number of processes
MPI_Comm_size(MPI_COMM_WORLD, &mpi_nodes);
// Get the rank of the process
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
// Get the name of the processor
char processor_name[MPI_MAX_PROCESSOR_NAME];
int name_len;
MPI_Get_processor_name(processor_name, &name_len);
// Print off a hello world message
printf("Hello from processor %s, rank %d out of %d processors\n",
processor_name, world_rank, mpi_nodes);
*/
mpi::environment env; mpi::environment env;
mpi::communicator world; mpi::communicator world;
std::cout << "\nHello from process " << world.rank() << " of " << world.size() std::cout << "\nHello from process " << world.rank() << " of " << world.size()
<< "." << std::endl; << "." << std::endl;
if(world.rank() == 0){ std::cout << "Finished init for process " << world.rank() << std::endl;
printf("Finished init\n"); std::string config_section = (opt_config.empty()) ? "default" : opt_config;
std::string config_section = (opt_config.empty()) ? "default" : opt_config; boost::property_tree::ptree pt;
boost::property_tree::ini_parser::read_ini("config.ini", pt);
boost::property_tree::ptree pt; if (use_postgres)
boost::property_tree::ini_parser::read_ini("config.ini", pt); {
std::string dbName = pt.get<std::string>("database.name");
if (use_postgres) std::string host = pt.get<std::string>("database.host");
{ std::string port = pt.get<std::string>("database.port");
std::string dbName = pt.get<std::string>("database.name"); std::string username = pt.get<std::string>("database.username");
std::string host = pt.get<std::string>("database.host"); std::string password = pt.get<std::string>("database.password");
std::string port = pt.get<std::string>("database.port"); //std::cout<<dbName<<std::endl;
std::string username = pt.get<std::string>("database.username"); //std::cout<<host<<std::endl;
std::string password = pt.get<std::string>("database.password"); //std::cout<<port<<std::endl;
std::cout<<dbName<<std::endl; //std::cout<<username<<std::endl;
std::cout<<host<<std::endl; //std::cout<<password<<std::endl;
std::cout<<port<<std::endl; //init_db("postgresql://" + username + ":" + password + "@" + host + ":" + port + "/" + dbName); //only to connect to the db, not query or update yet!!!
std::cout<<username<<std::endl; if(db_name != "ag_gen"){
std::cout<<password<<std::endl; std::cout << "\nThe given database differs from that specified in the config file. Overriding config database name." << std::endl;
//init_db("postgresql://" + username + ":" + password + "@" + host + ":" + port + "/" + dbName); //only to connect to the db, not query or update yet!!! init_db("dbname="+db_name+" user="+username+" host="+host+" port="+port+" password="+password);
if(db_name != "ag_gen"){
std::cout << "\nThe given database differs from that specified in the config file. Overriding config database name." << std::endl;
init_db("dbname="+db_name+" user="+username+" host="+host+" port="+port+" password="+password);
}
else
init_db("dbname="+dbName+" user="+username+" host="+host+" port="+port+" password="+password);
gettimeofday(&tf2,NULL);
double tdiff2=(tf2.tv_sec-ts1.tv_sec)*1000.0+(tf2.tv_usec-ts1.tv_usec)/1000.0;
printf("Finished db connection\n");
printf("---------->Initialization and Connecting to DB took %lf ms.<----------- \n",tdiff2);
printf("\n");
} }
else else
{ init_db("dbname="+dbName+" user="+username+" host="+host+" port="+port+" password="+password);
std::cout << "Error: Not yet implemented. Database must be used.\ gettimeofday(&tf2,NULL);
Please use the '-p' argument when running this program." << std::endl; double tdiff2=(tf2.tv_sec-ts1.tv_sec)*1000.0+(tf2.tv_usec-ts1.tv_usec)/1000.0;
return(1); std::cout<< "Node " << world.rank() << " finished db connection\n" << std::endl;
printf("Initialization and Connecting to DB took %lf ms for this process. \n",tdiff2);
printf("\n");
}
else
{
std::cout << "Error: Not yet implemented. Database must be used.\
Please use the '-p' argument when running this program." << std::endl;
return(1);
}
if(world.rank() == 0){
//--------------------------------------------
//program block 2: read in network model and exploit pattern and store them in local database
//--------------------------------------------
gettimeofday(&ts3,NULL);
//load network model,convert into strings that are SQL insert commands
//directly read data and put them inside the ag_gen database tables: asset, quality and topology
//-------This is the program block that can be used to test Alex's output file-------
std::string parsednm;
if(!opt_nm.empty()) {
if (!file_exists(opt_nm)) {
fprintf(stderr, "File %s doesn't exist.\n", opt_nm.c_str());
exit(EXIT_FAILURE);
}
parsednm = parse_nm(opt_nm);
}
//load exploit pattern,convert into strings that are SQL insert commands
//directly read data and put them inside the ag_gen database tables: exploit,exploit_precondition and exploit_postcondition
//-------This is the program block that can be used to test Jacob's output file-------
std::string parsedxp;
if(!opt_xp.empty()) {
if (!file_exists(opt_xp)) {
fprintf(stderr, "File %s doesn't exist.\n", opt_xp.c_str());
exit(EXIT_FAILURE);
}
parsedxp = parse_xp(opt_xp);
} }
}
//--------------------------------------------
//program block 2: read in network model and exploit pattern and store them in local database
//--------------------------------------------
gettimeofday(&ts3,NULL); printf("\n");
//load network model,convert into strings that are SQL insert commands std::cout << "Finished parsing the network model." << std::endl;
//directly read data and put them inside the ag_gen database tables: asset, quality and topology //printf("=====parsed nm=====\n");
//-------This is the program block that can be used to test Alex's output file------- //std::cout << parsednm <<"\n";
std::string parsednm; std::cout << "Finished parsing exploit file." << std::endl;
if(!opt_nm.empty()) { //printf("=====parsed xp=====\n");
if (!file_exists(opt_nm)) { //std::cout << parsedxp <<"\n";
fprintf(stderr, "File %s doesn't exist.\n", opt_nm.c_str()); printf("\n");
exit(EXIT_FAILURE);
} if (use_postgres) {
parsednm = parse_nm(opt_nm); std::cout << "Importing Models and Exploits into Database: ";
} import_models(parsednm, parsedxp); //directly use the strings parsednm and parsedxp as SQL commands
//load exploit pattern,convert into strings that are SQL insert commands gettimeofday(&tf3,NULL);
//directly read data and put them inside the ag_gen database tables: exploit,exploit_precondition and exploit_postcondition double tdiff3=(tf3.tv_sec-ts3.tv_sec)*1000.0+(tf3.tv_usec-ts3.tv_usec)/1000.0;
//-------This is the program block that can be used to test Jacob's output file------- std::cout << "Done\n";
std::string parsedxp; printf("------>The time to load .nm and .xp into the database took %lf ms.<------\n",tdiff3);
if(!opt_xp.empty()) { printf("\n");
if (!file_exists(opt_xp)) { }
fprintf(stderr, "File %s doesn't exist.\n", opt_xp.c_str());
exit(EXIT_FAILURE);
}
parsedxp = parse_xp(opt_xp);
} }
printf("\n");
printf("=====parsed nm=====\n");
std::cout << parsednm <<"\n";
printf("=====parsed xp=====\n");
std::cout << parsedxp <<"\n";
printf("\n");
int batch_size = 0; int batch_size = 0;
if (batch_process) if (batch_process)
batch_size = std::stoi(opt_batch); batch_size = std::stoi(opt_batch);
if (use_postgres && world.rank() == 0) { //Sync all Nodes to ensure everyone has connected to db and models are imported.
std::cout << "Importing Models and Exploits into Database: "; world.barrier();
import_models(parsednm, parsedxp); //directly use the strings parsednm and parsedxp as SQL commands
gettimeofday(&tf3,NULL);
double tdiff3=(tf3.tv_sec-ts3.tv_sec)*1000.0+(tf3.tv_usec-ts3.tv_usec)/1000.0;
std::cout << "Done\n";
printf("------>The time to load .nm and .xp into the database took %lf ms.<------\n",tdiff3);
printf("\n");
}
//------------------------------------------ //------------------------------------------
//program block 3: //program block 3:
@ -655,74 +642,63 @@ int main(int argc, char *argv[]) {
auto ex = fetch_all_exploits(); //make a copy of initial exploits auto ex = fetch_all_exploits(); //make a copy of initial exploits
} }
else { else {
std::cout << "PRINTING PARSEDNM" << std::endl; std::cout << "Not yet implemented. Please use a database." << std::endl;
const char delim = '),';
std::vector<std::string> out;
tokenize(parsednm, delim, out);
for (auto &s: out)
{
std::cout << s <<std::endl;
}
std::cout << "Not yet implemented." << std::endl;
return(1); return(1);
} }
std::cout << "Assets: " << _instance.assets.size() << "\n"; //# of assets, vector size if(world.rank() == 0){
std::cout << "Exploits: " << _instance.exploits.size() << "\n"; //# of exploits, vector size std::cout << "Assets: " << _instance.assets.size() << "\n"; //# of assets, vector size
std::cout << "Facts: " << _instance.facts.size() << "\n"; //how many different parameters and values are there? class size() method std::cout << "Exploits: " << _instance.exploits.size() << "\n"; //# of exploits, vector size
std::cout << "Facts: " << _instance.facts.size() << "\n"; //how many different parameters and values are there? class size() method
}
AGGenInstance postinstance; AGGenInstance postinstance;
//Serialization Unit Testing on Initial Data
//serialization_unit_testing(_instance);
std::cout << "Generating Attack Graph: " << std::flush; std::cout << "Generating Attack Graph: " << std::flush;
AGGen gen(_instance);//use AGGen class to instantiate an obj with the name gen! _instance obj as the parameter! constructor defined in ag_gen.cpp AGGen gen(_instance);//use AGGen class to instantiate an obj with the name gen! _instance obj as the parameter! constructor defined in ag_gen.cpp
postinstance = gen.generate(batch_process, batch_size, thread_count, init_qsize, alpha); //The method call to generate the attack graph, defined in ag_gen.cpp. postinstance = gen.generate(batch_process, batch_size, thread_count, init_qsize, alpha, world); //The method call to generate the attack graph, defined in ag_gen.cpp.
world.barrier();
//Serialization Unit Testing on Postinstance Data //Serialization Unit Testing on Postinstance Data
serialization_unit_testing(postinstance, world); serialization_unit_testing(postinstance, world);
world.barrier();
std::cout << "Done\n"; std::cout << "Done\n";
//std::cout << "# of edges " <<postinstance.edges.size()<<std::endl; //std::cout << "# of edges " <<postinstance.edges.size()<<std::endl;
//std::cout << "# of edge_asset_binding" <<postinstance.edges.size()<<std::endl; //std::cout << "# of edge_asset_binding" <<postinstance.edges.size()<<std::endl;
// std::cout << "# of factbase " <<postinstance.factbases.size()<<std::endl; //std::cout << "# of factbase " <<postinstance.factbases.size()<<std::endl;
// std::cout << "# of factbase_item " <<postinstance.factbase_items.size()<<std::endl; //std::cout << "# of factbase_item " <<postinstance.factbase_items.size()<<std::endl;
save_ag_to_db(postinstance, true);
std::cout << "Total Edges: " << get_num_edges() << std::endl; if(world.rank() == 0){
std::cout << "Total Time: " << postinstance.elapsed_seconds.count() << " seconds\n"; save_ag_to_db(postinstance, true);
//std::cout << "Total States: " << postinstance.factbases.size() << "\n";
std::cout << "Total States: " << get_num_states() << std::endl;
std::cout << "Saving Attack Graph to Database: " << std::flush;
std::cout << "Done\n";
if(should_graph) { std::cout << "Total Edges: " << get_num_edges() << std::endl;
Graph g = graph_init(); std::cout << "Total Time: " << postinstance.elapsed_seconds.count() << " seconds\n";
//std::cout << "Total States: " << postinstance.factbases.size() << "\n";
std::cout << "Total States: " << get_num_states() << std::endl;
if(no_cycles) { std::cout << "Saving Attack Graph to Database: " << std::flush;
std::cout << "Removing cycles: " << std::flush;
remove_cycles(g);
std::cout << "Done\n";
}
std::cout << "Creating graph visualization: " << std::flush;
graph_ag(g, opt_graph);
std::cout << "Done\n"; std::cout << "Done\n";
/*if(no_cycles) { if(should_graph) {
std::cout << "Removing cycles: " << std::flush; Graph g = graph_init();
remove_cycles(g);
std::cout << "Done\n";
}*/
}
gettimeofday(&tf1,NULL);
double tdiff1; if(no_cycles) {
tdiff1=(tf1.tv_sec-ts1.tv_sec)*1000.0+(tf1.tv_usec-ts1.tv_usec)/1000.0; std::cout << "Removing cycles: " << std::flush;
printf("-----------> total run time is %lf ms. <-----------\n",tdiff1); remove_cycles(g);
return(0); std::cout << "Done\n";
}
std::cout << "Creating graph visualization: " << std::flush;
graph_ag(g, opt_graph);
std::cout << "Done\n";
}
gettimeofday(&tf1,NULL);
double tdiff1;
tdiff1=(tf1.tv_sec-ts1.tv_sec)*1000.0+(tf1.tv_usec-ts1.tv_usec)/1000.0;
printf("-----------> total run time is %lf ms. <-----------\n",tdiff1);
return(0);
}
/* /*
struct timeval ts4,tf4; struct timeval ts4,tf4;
gettimeofday(&ts4,NULL); gettimeofday(&ts4,NULL);

View File

@ -1,8 +1,3 @@
//! main.cpp contains the main fuction that runs the program including flag
//! handling and calls to functions that access the database and generate the
//! attack graph.
//!
#include <iostream> #include <iostream>
#include <fstream> #include <fstream>
#include <vector> #include <vector>
@ -182,10 +177,16 @@ int network_state_check(NetworkState &ns1, NetworkState &ns2){
void serialization_unit_testing(AGGenInstance &instance, boost::mpi::communicator &world){ void serialization_unit_testing(AGGenInstance &instance, boost::mpi::communicator &world){
if(world.rank() == 0){ if(world.rank() == 0){
printf("\n"); printf("\n");
std::cout << "---------STARTING SERIALIZATION UNIT TESTING---------" << std::endl; std::cout << "---------STARTING SERIALIZATION UNIT TESTING---------" << std::endl;
} }
world.barrier();
std::cout << "\nHello from process " << world.rank() << " of " << world.size()
<< "." << std::endl;
world.barrier();
std::string filename(boost::archive::tmpdir()); std::string filename(boost::archive::tmpdir());
filename += "/qualfile.txt"; filename += "/qualfile.txt";
@ -210,49 +211,20 @@ void serialization_unit_testing(AGGenInstance &instance, boost::mpi::communicato
for (auto qual : instance.initial_qualities) for (auto qual : instance.initial_qualities)
{ {
//Send Qualities Quality new_qual;
if(world.rank() == 0){ if(world.rank() == 0)
//Can't use broadcast, since it doesn't send to self. new_qual = qual;
if(world.size() == 1)
world.isend(0, 0, qual);
else
broadcast(world, qual, 0);
//save_quality(qual, filename.c_str());
}
//Receive Qualities mpi::request req;
if(world.rank() > 0 || world.size() == 1){
Quality new_qual;
mpi::request req;
req = world.irecv(mpi::any_source, mpi::any_tag,new_qual); broadcast(world, new_qual, 0);
do { qual_count++;
boost::optional<mpi::status> stat = req.test(); qual_corr += quality_check(qual, new_qual);
if(stat){
//std::cout << "New message from " << stat->source() << ":"<< std::endl;
//new_qual.print();
break;
}
} while(1);
//restore_quality(new_qual, filename.c_str());
qual_count++;
qual_corr += quality_check(qual, new_qual);
}
} }
int total_qual_corr; int total_qual_corr;
if (world.rank() == 0 && world.size() == 1){ reduce(world, qual_corr, total_qual_corr, std::plus<int>(), 0);
total_qual_corr = qual_corr;
}
if (world.rank() == 0 && world.size() > 1){
reduce(world, qual_corr, total_qual_corr, std::plus<int>(), 0);
}
else if (world.rank() > 0 && world.size() > 1){
reduce(world, qual_corr, std::plus<int>(), 0);
}
if (world.rank() == 0){ if (world.rank() == 0){
std::cout << "Quality Unit Testing: " << std::to_string(total_qual_corr) << "/" << std::to_string(world.size() * qual_count) << std::endl; std::cout << "Quality Unit Testing: " << std::to_string(total_qual_corr) << "/" << std::to_string(world.size() * qual_count) << std::endl;
@ -263,47 +235,20 @@ void serialization_unit_testing(AGGenInstance &instance, boost::mpi::communicato
for (auto topo : instance.initial_topologies) for (auto topo : instance.initial_topologies)
{ {
//Send Topologies Topology new_top;
if(world.rank() == 0){ if(world.rank() == 0)
//Can't use broadcast, since it doesn't send to self. new_top = topo;
if(world.size() == 1)
world.isend(0, 0, topo);
else
broadcast(world, topo, 0);
//save_quality(qual, filename.c_str());
}
//Receive Topologies mpi::request req;
if(world.rank() > 0 || world.size() == 1){
Topology new_top;
mpi::request req;
req = world.irecv(mpi::any_source, mpi::any_tag, new_top);
do {
boost::optional<mpi::status> stat = req.test();
if(stat){
break;
}
} while(1);
//restore_topology(new_top, filename.c_str());
top_count++;
top_corr += topology_check(topo, new_top);
}
broadcast(world, new_top, 0);
top_count++;
top_corr += topology_check(topo, new_top);
} }
int total_top_corr; int total_top_corr;
if(world.rank() ==0 && world.size() == 1){ reduce(world, top_corr, total_top_corr, std::plus<int>(), 0);
total_top_corr = top_corr;
}
if (world.rank() == 0 && world.size() > 1){
reduce(world, top_corr, total_top_corr, std::plus<int>(), 0);
}
else if (world.rank() > 0 && world.size() > 1){
reduce(world, top_corr, std::plus<int>(), 0);
}
if (world.rank() == 0){ if (world.rank() == 0){
std::cout << "Topology Unit Testing: " << std::to_string(total_top_corr) << "/" << std::to_string(world.size() * top_count) << std::endl; std::cout << "Topology Unit Testing: " << std::to_string(total_top_corr) << "/" << std::to_string(world.size() * top_count) << std::endl;
@ -314,46 +259,25 @@ void serialization_unit_testing(AGGenInstance &instance, boost::mpi::communicato
for (auto fb : instance.factbases) for (auto fb : instance.factbases)
{ {
Factbase new_fb;
//Send Factbases int id;
if(world.rank() == 0){ if(world.rank() == 0){
//Can't use broadcast, since it doesn't send to self. new_fb = fb;
if(world.size() == 1) id = fb.get_id();
world.isend(0, 0, fb);
else
broadcast(world, fb, 0);
} }
//Receive Factbases mpi::request req;
if(world.rank() > 0 || world.size() == 1){
Factbase new_fb;
mpi::request req;
req = world.irecv(mpi::any_source, mpi::any_tag, new_fb); broadcast(world, new_fb, 0);
do { broadcast(world, id, 0);
boost::optional<mpi::status> stat = req.test(); new_fb.force_set_id(id);
if(stat){ fb_count++;
break; fb_corr += factbase_check(fb, new_fb);
}
} while(1);
fb_count++;
fb_corr += factbase_check(fb, new_fb);
}
} }
int total_fb_corr; int total_fb_corr;
if(world.rank() ==0 && world.size() == 1){ reduce(world, fb_corr, total_fb_corr, std::plus<int>(), 0);
total_fb_corr = fb_corr;
}
if (world.rank() == 0 && world.size() > 1){
reduce(world, fb_corr, total_fb_corr, std::plus<int>(), 0);
}
else if (world.rank() > 0 && world.size() > 1){
reduce(world, fb_corr, std::plus<int>(), 0);
}
if (world.rank() == 0){ if (world.rank() == 0){
std::cout << "Factbase Unit Testing: " << std::to_string(total_fb_corr) << "/" << std::to_string(world.size() * fb_count) << std::endl; std::cout << "Factbase Unit Testing: " << std::to_string(total_fb_corr) << "/" << std::to_string(world.size() * fb_count) << std::endl;
@ -362,44 +286,25 @@ void serialization_unit_testing(AGGenInstance &instance, boost::mpi::communicato
std::cout << "Performing Unit Testing on Network State Serialization." << std::endl; std::cout << "Performing Unit Testing on Network State Serialization." << std::endl;
} }
//Send Network State NetworkState new_ns;
int id;
if(world.rank() == 0){ if(world.rank() == 0){
//Can't use broadcast, since it doesn't send to self. new_ns = init_state;
if(world.size() == 1) id = init_state.get_id();
world.isend(0, 0, init_state);
else
broadcast(world, init_state, 0);
} }
//Receive Network State mpi::request req;
if(world.rank() > 0 || world.size() == 1){
NetworkState new_ns;
mpi::request req;
req = world.irecv(mpi::any_source, mpi::any_tag, new_ns); broadcast(world, new_ns, 0);
do { broadcast(world, id, 0);
boost::optional<mpi::status> stat = req.test(); new_ns.force_set_id(id);
if(stat){ ns_count++;
break; ns_corr += network_state_check(init_state, new_ns);
}
} while(1);
ns_count++;
ns_corr += network_state_check(init_state, new_ns);
}
int total_ns_corr; int total_ns_corr;
if(world.rank() ==0 && world.size() == 1){ reduce(world, ns_corr, total_ns_corr, std::plus<int>(), 0);
total_ns_corr = ns_corr;
}
if (world.rank() == 0 && world.size() > 1){
reduce(world, ns_corr, total_ns_corr, std::plus<int>(), 0);
}
else if (world.rank() > 0 && world.size() > 1){
reduce(world, ns_corr, std::plus<int>(), 0);
}
if (world.rank() == 0){ if (world.rank() == 0){
std::cout << "Network State Unit Testing: " << std::to_string(total_ns_corr) << "/" << std::to_string(world.size() * ns_count) << std::endl; std::cout << "Network State Unit Testing: " << std::to_string(total_ns_corr) << "/" << std::to_string(world.size() * ns_count) << std::endl;
printf("\n"); printf("\n");