diff options
Diffstat (limited to 'tools/scaninc')
-rw-r--r-- | tools/scaninc/Makefile | 2 | ||||
-rw-r--r-- | tools/scaninc/scaninc.cpp | 19 | ||||
-rwxr-xr-x | tools/scaninc/scaninc.exe | bin | 881797 -> 881843 bytes | |||
-rw-r--r-- | tools/scaninc/source_file.cpp | 5 | ||||
-rw-r--r-- | tools/scaninc/source_file.h | 1 |
5 files changed, 20 insertions, 7 deletions
diff --git a/tools/scaninc/Makefile b/tools/scaninc/Makefile index 1516f15..52e663d 100644 --- a/tools/scaninc/Makefile +++ b/tools/scaninc/Makefile @@ -1,4 +1,4 @@ -CXX = g++ +CXX ?= g++ CXXFLAGS = -Wall -Werror -std=c++11 -O2 diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index b95cbd0..a3e40c5 100644 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -97,19 +97,26 @@ int main(int argc, char **argv) } for (auto include : file.GetIncludes()) { + bool exists = false; + std::string path(""); for (auto includeDir : includeDirs) { - std::string path(includeDir + include); + path = includeDir + include; if (CanOpenFile(path)) { - bool inserted = dependencies.insert(path).second; - if (inserted) - { - filesToProcess.push(path); - } + exists = true; break; } } + if (!exists && file.FileType() == SourceFileType::Asm) + { + path = include; + } + bool inserted = dependencies.insert(path).second; + if (inserted && exists) + { + filesToProcess.push(path); + } } includeDirs.pop_back(); } diff --git a/tools/scaninc/scaninc.exe b/tools/scaninc/scaninc.exe Binary files differindex dff1f03..0723291 100755 --- a/tools/scaninc/scaninc.exe +++ b/tools/scaninc/scaninc.exe diff --git a/tools/scaninc/source_file.cpp b/tools/scaninc/source_file.cpp index f23ff6d..df31282 100644 --- a/tools/scaninc/source_file.cpp +++ b/tools/scaninc/source_file.cpp @@ -89,6 +89,11 @@ SourceFile::SourceFile(std::string path) } } +SourceFileType SourceFile::FileType() +{ + return m_file_type; +} + SourceFile::~SourceFile() { if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) diff --git a/tools/scaninc/source_file.h b/tools/scaninc/source_file.h index f7b6412..854b3f1 100644 --- a/tools/scaninc/source_file.h +++ b/tools/scaninc/source_file.h @@ -50,6 +50,7 @@ public: const std::set<std::string>& GetIncbins(); const std::set<std::string>& GetIncludes(); std::string& GetSrcDir(); + SourceFileType FileType(); private: union InnerUnion { |