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.
		
		
			
		
		
		
		
			
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
| #! /usr/bin/env python
 | |
| 
 | |
| def write_header(tsk):
 | |
| 	tsk.outputs[0].write('int abc = 423;\n')
 | |
| bld(features='use', rule=write_header, target='b.h', ext_out=['.h'], name='XYZ')
 | |
| 
 | |
| tg = bld.program(
 | |
| 	features = 'aaa',
 | |
| 	source   = 'main.c',
 | |
| 	includes = '. ..',
 | |
| 	#cflags   = ['-O3'], # for example
 | |
| 	defines  = ['foo=bar'],
 | |
| 	target   = 'myprogram',
 | |
| 	use      = 'M XYZ')
 | |
| 
 | |
| # just for fun, make main.c depend on wscript_build
 | |
| bld.add_manual_dependency('main.c', bld.path.find_resource('wscript_build'))
 | |
| 
 | |
| # ----------------------------------------
 | |
| 
 | |
| from waflib import TaskGen
 | |
| @TaskGen.feature('aaa')
 | |
| @TaskGen.before('apply_link')
 | |
| def add_one_task(self):
 | |
| 	"""this is a task generator method, it is bound to the feature 'aaa' """
 | |
| 	tsk = self.create_task('foo')
 | |
| 	tsk.outputs = [self.bld.path.find_or_declare('abc.h')]
 | |
| 
 | |
| import waflib.Task
 | |
| class foo(waflib.Task.Task):
 | |
| 	"""this is a task class"""
 | |
| 	before = ['c']
 | |
| 	color  = 'BLUE'
 | |
| 	def run(self):
 | |
| 		self.outputs[0].write('int kik = 343;\n')
 | |
| 
 | |
| 
 | |
| if bld.env.CC_NAME == 'msvc':
 | |
| 	tg.source += ' msvc_resource.rc'
 |