summaryrefslogtreecommitdiffhomepage
path: root/tools/src/make_framework.cxx
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-10-17 08:16:38 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-10-17 08:20:30 +0200
commitb5ebbd7406e87d19beee3760ef2417e1444a10d2 (patch)
tree19961bbbec929b69a2e0ad1f3734334d05585f72 /tools/src/make_framework.cxx
parent6fbdfddecc9771adb43b7c673a99c93e50c33dbc (diff)
FIX/IMP: A set of fixes and new features. (MHR-40, 46 and 47 related)
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'tools/src/make_framework.cxx')
-rw-r--r--tools/src/make_framework.cxx42
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/src/make_framework.cxx b/tools/src/make_framework.cxx
new file mode 100644
index 00000000..3d719529
--- /dev/null
+++ b/tools/src/make_framework.cxx
@@ -0,0 +1,42 @@
+/*
+ * Created on Thu Oct 17 08:00:42 CEST 2024
+ *
+ * Copyright (c) 2024 ZKA Technologies
+ */
+
+#include <filesystem>
+#include <framework.hxx>
+
+/// @brief This program converts a PE32+ driver, into a custom format, the ZXD.
+/// @note ZXD is a format for ZKA signed drivers.
+int main(int argc, char* argv[])
+{
+ for (size_t i = 1ul; i < argc; ++i)
+ {
+ if (strcmp(argv[i], "/?") == 0)
+ {
+ std::cout << "make_framework: Framework Tool.\n";
+ std::cout << "make_framework: © ZKA Technologies, all rights reserved.\n";
+
+ return 0;
+ }
+ }
+
+ auto path = std::string(argv[1]);
+
+ if (!path.ends_with(kFKExtension))
+ return 1;
+
+ std::filesystem::path path_arg = path;
+
+ if (std::filesystem::create_directory(path_arg))
+ {
+ std::filesystem::create_directory(path_arg / kFKRootDirectory);
+ std::filesystem::create_directory(path_arg / kFKManifestDirectory);
+ std::filesystem::create_directory(path_arg / kFKDLLDirectory);
+
+ return 0;
+ }
+
+ return 1;
+}