You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					59 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					59 lines
				
				1.6 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								Import('env', 'arch')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								gen = "c_generated_code"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								casadi_model = [
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_model/lat_expl_ode_fun.c',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_model/lat_expl_vde_forw.c',
							 | 
						||
| 
								 | 
							
								]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								casadi_cost_y = [
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_fun.c',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_fun_jac_ut_xt.c',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_hess.c',
							 | 
						||
| 
								 | 
							
								]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								casadi_cost_e = [
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_e_fun.c',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_e_fun_jac_ut_xt.c',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_e_hess.c',
							 | 
						||
| 
								 | 
							
								]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								casadi_cost_0 = [
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_0_fun.c',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_0_fun_jac_ut_xt.c',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_0_hess.c',
							 | 
						||
| 
								 | 
							
								]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								build_files = [f'{gen}/acados_solver_lat.c'] + casadi_model + casadi_cost_y + casadi_cost_e + casadi_cost_0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# extra generated files used to trigger a rebuild
							 | 
						||
| 
								 | 
							
								generated_files = [
							 | 
						||
| 
								 | 
							
								  f'{gen}/Makefile',
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  f'{gen}/main_lat.c',
							 | 
						||
| 
								 | 
							
								  f'{gen}/acados_solver_lat.h',
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_model/lat_expl_vde_adj.c',
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_model/lat_model.h',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_fun.h',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_e_fun.h',
							 | 
						||
| 
								 | 
							
								  f'{gen}/lat_cost/lat_cost_y_0_fun.h',
							 | 
						||
| 
								 | 
							
								] + build_files
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								lenv = env.Clone()
							 | 
						||
| 
								 | 
							
								lenv.Clean(generated_files, Dir(gen))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								lenv.Command(generated_files,
							 | 
						||
| 
								 | 
							
								             ["lat_mpc.py"],
							 | 
						||
| 
								 | 
							
								             f"cd {Dir('.').abspath} && python lat_mpc.py")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								lenv["CFLAGS"].append("-DACADOS_WITH_QPOASES")
							 | 
						||
| 
								 | 
							
								lenv["CXXFLAGS"].append("-DACADOS_WITH_QPOASES")
							 | 
						||
| 
								 | 
							
								lenv["CCFLAGS"].append("-Wno-unused")
							 | 
						||
| 
								 | 
							
								lenv["LINKFLAGS"].append("-Wl,--disable-new-dtags")
							 | 
						||
| 
								 | 
							
								lenv.SharedLibrary(f"{gen}/acados_ocp_solver_lat",
							 | 
						||
| 
								 | 
							
								                   build_files,
							 | 
						||
| 
								 | 
							
								                   LIBS=['m', 'acados', 'hpipm', 'blasfeo', 'qpOASES_e'])
							 |