Ich frage mich, gibt es ein Äquivalent von CPPPATH
für die Erstellung von Assembler-Dateien?Scons; Konstruktionsvariable für Assembler Include-Verzeichnis;
CPPPATH=include_dirs
funktioniert perfekt für .cpp
Dateien, aber es scheint für .S
Dateien nicht gelten. Ich habe Fehlermeldung wie "keine solche Datei oder Verzeichnis"
So gibt es eine Art von "ASPATH"?
Dank
PS: Als Abhilfe, die ich zur Zeit ASFLAGS
mit -I/my_path
benutzen, aber ich weiß nicht wirklich, wie es ...
ZUSÄTZLICH:
dieser Ansatz funktioniert (ASFLAGS)
asm_dirs = '-I' + gen_build_dir + gen_file_dir + ' ' #relative path here
as_flags = asm_dirs + env['ASFLAGS']
t = env.Program('boot.elf', sources, CPPPATH=include_dirs, LIBPATH=lib_dirs, LIBS=libs, ASFLAGS=as_flags,
LINKFLAGS=link_flags)
dieser Ansatz nicht (CPPPATH)
include_dirs += [ #add path to 'CPPPATH'
gen_build_dir + gen_file_dir + ' '
]
t = env.Program('boot.elf', sources, CPPPATH=include_dirs, LIBPATH=lib_dirs, LIBS=libs, LINKFLAGS=link_flags)
Detaillierte Skript:
asm_cppflags = ('-S -Wno-invalid-offsetof ')
gen_build_dir = 'build/Italy4K6/rel/'
gen_file_dir = 'OS/UserAccess/'
gen_file_name = 'UserAccess_HandleSysCall_ConstGen'
src_full_name = gen_file_dir + gen_file_name + '.cpp'
obj_full_name = gen_build_dir + gen_file_dir + gen_file_name + '.o'
dst_full_name = gen_build_dir + gen_file_dir + gen_file_name + '.h'
a = env.Object(src_full_name, CPPFLAGS=asm_cppflags, CPPPATH=include_dirs)
gen = env.Command(target = "HEADER", source = "",
action = "cat " + obj_full_name + " | " + gen_script + " > " + dst_full_name)
Depends(gen, a)
asm_dirs = '-I' + gen_build_dir + gen_file_dir + ' '
as_flags = asm_dirs + env['ASFLAGS']
link_script = 'Targets/LinkerScripts/%s.ld' % product
link_flags = ('-nodefaultlibs -nostartfiles -Wl,-T -Wl,%s -Wl,-Map -Wl,LINK.MAP ' % link_script) + env['LINKFLAGS']
t = env.Program('boot.elf', sources, CPPPATH=include_dirs, LIBPATH=lib_dirs, LIBS=libs, ASFLAGS=as_flags,
LINKFLAGS=link_flags)
Depends(t, link_script)
Welchen Assembler verwenden Sie? Welche Plattform? – bdbaddog
Assembler für ARM, GNU GCC Toolchain, unter Mac OS. – user3124812