Rumah > Artikel > pembangunan bahagian belakang > Apakah beberapa alternatif kepada Makefile Go?
Alternatif kepada Makefile Go
Selain Makefile yang disediakan bersama Go, beberapa sistem binaan lain menawarkan sokongan untuk bahasa tersebut.
Scons
Scons ialah sistem binaan yang popular dengan pengikut dalam kalangan pembangun Go. Berikut ialah contoh fail SConstruct untuk membina program Go:
archs = {'amd64': '6', '386': '8', 'arm': '5',} def gc(source, target, env, for_signature): targets = target[0] sources = ' '.join(str(s) for s in source) flags = '' for include in env.get('GOINCLUDE', []): flags += '-I %s ' % (include) return '%s -o %s %s %s' % (env['GOCOMPILER'], targets, flags, sources) def ld(source, target, env, for_signature): targets = target[0] sources = ' '.join(str(s) for s in source) return '%s -o %s %s' % (env['GOLINKER'], targets, sources) def _go_object_suffix(env, sources): return "." + archs[env['ENV']['GOARCH']] def _go_program_prefix(env, sources): return env['PROGPREFIX'] def _go_program_suffix(env, sources): return env['PROGSUFFIX'] go_compiler = Builder(generator=gc, suffix=_go_object_suffix, src_suffix='.go',) go_linker = Builder(generator=ld, prefix=_go_program_prefix, suffix=_go_program_suffix,) # Create environment import os env = Environment(BUILDERS={'Go': go_compiler, 'GoProgram': go_linker}, ENV=os.environ,) arch_prefix = archs[os.environ['GOARCH']] env.SetDefault(GOCOMPILER=os.path.join(os.environ['GOBIN'], arch_prefix + 'g')) env.SetDefault(GOLINKER=os.path.join(os.environ['GOBIN'], arch_prefix + 'l')) # Build programs # Modify this to suit your program main_package = env.Go(target='main', source='main.go') program = env.GoProgram(target='program', source=[main_package])
Atas ialah kandungan terperinci Apakah beberapa alternatif kepada Makefile Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!