You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			26 lines
		
	
	
		
			632 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			26 lines
		
	
	
		
			632 B
		
	
	
	
		
			Python
		
	
| #!/usr/bin/python3
 | |
| 
 | |
| # Create makefile dependencies for VHDL files, looking for "use work" and
 | |
| # "entity work" declarations
 | |
| 
 | |
| import sys
 | |
| import re
 | |
| 
 | |
| work = re.compile('use work\.([^.]+)\.')
 | |
| entity = re.compile('entity work\.(.*)')
 | |
| 
 | |
| for filename in sys.argv[1:]:
 | |
|     with open(filename, 'r') as f:
 | |
|         (basename, suffix) = filename.split('.')
 | |
|         print('%s.o:' % basename, end='')
 | |
| 
 | |
|         for line in f:
 | |
|             m = work.search(line)
 | |
|             if m:
 | |
|                 print(' %s.o' % m.group(1), end='')
 | |
| 
 | |
|             m = entity.search(line)
 | |
|             if m:
 | |
|                 print(' %s.o' % m.group(1), end='')
 | |
|     print()
 |