diff --git a/hdlmake b/hdlmake index 87acdaa92422863ec32a69c1a403c148cab2746f..435cb70b2f1be0ddfac096ed22ca8f9157974435 100755 Binary files a/hdlmake and b/hdlmake differ diff --git a/src/__main__.py b/src/__main__.py index fd52fd668c836fd7b19bed3c165f0b783ee37753..2dc00bea3c4f16b1709f64f17aebe62a89213673 100755 --- a/src/__main__.py +++ b/src/__main__.py @@ -52,6 +52,9 @@ def main(): parser.add_option("--clean", action="store_true", dest="clean", help="remove all modules fetched for this one") + parser.add_option("--list", action="store_true", dest="list", + help="List all modules togather with their files") + parser.add_option("--ise-proj", action="store_true", dest="ise_proj", help="create/update an ise project including list of project files") @@ -115,6 +118,8 @@ def main(): kernel.generate_ise_makefile() elif options.make_remote == True: kernel.generate_remote_synthesis_makefile() + elif options.list == True: + kernel.list_modules() elif options.clean == True: kernel.clean_modules() else: diff --git a/src/hdlmake_kernel.py b/src/hdlmake_kernel.py index 0d3de2ca3fe3a2f45e068970a9a71a5229029fa9..2f471c123ccfa54727c3d3c6951dd387ed5dd66d 100644 --- a/src/hdlmake_kernel.py +++ b/src/hdlmake_kernel.py @@ -52,6 +52,20 @@ class HdlmakeKernel(object): p.rawprint("Allowed actions are:\n\tsimulation\n\tsynthesis") quit() + def list_modules(self): + import path + for m in self.modules_pool: + if m.path == os.getcwd(): + print(".") + else: + print(path.relpath(m.path)) + if not len(m.files): + print(" # no files") + else: + for f in m.files: + print(" " + path.relpath(f.path, m.path)) + print("") + def fetch(self, unfetched_only = False): p.rawprint("Fetching needed modules...") self.modules_pool.fetch_all(unfetched_only)