generate libs