extension work + static library linking
This commit is contained in:
parent
ffa0f40652
commit
b6ee9d0dc3
20 changed files with 568 additions and 131 deletions
46
build.ninja
46
build.ninja
|
@ -26,52 +26,72 @@ rule cxx
|
|||
|
||||
rule link_cc
|
||||
command = $cc_path $p_cflags -o $out $in $p_linker_flags
|
||||
description = Linking C executables $out
|
||||
description = Linking C target $out
|
||||
|
||||
## build_rule_link_cxx ##
|
||||
|
||||
rule link_cxx
|
||||
command = $cxx_path $p_cflags -o $out $in $p_linker_flags
|
||||
description = Linking C++ executables $out
|
||||
description = Linking C++ target $out
|
||||
|
||||
## Compile: src/main.cc ##
|
||||
## build_rule_archive_library ##
|
||||
|
||||
build $builddir/src/main.o: cxx src/main.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
rule archive
|
||||
command = rm -f $out; ar crs $out $in
|
||||
description = Creating static library $out
|
||||
|
||||
## Compile: src/file.cc ##
|
||||
|
||||
build $builddir/src/file.o: cxx src/file.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Compile: src/ninja.cc ##
|
||||
|
||||
build $builddir/src/ninja.o: cxx src/ninja.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Compile: src/platform.cc ##
|
||||
|
||||
build $builddir/src/platform.o: cxx src/platform.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Compile: src/target_exe.cc ##
|
||||
|
||||
build $builddir/src/target_exe.o: cxx src/target_exe.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Compile: src/utils.cc ##
|
||||
|
||||
build $builddir/src/utils.o: cxx src/utils.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Compile: src/generator.cc ##
|
||||
|
||||
build $builddir/src/generator.o: cxx src/generator.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Compile: src/target_lib.cc ##
|
||||
|
||||
build $builddir/src/target_lib.o: cxx src/target_lib.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Compile: src/package.cc ##
|
||||
|
||||
build $builddir/src/package.o: cxx src/package.cc
|
||||
p_cflags = -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Link: libgrbc.a ##
|
||||
|
||||
build $builddir/libgrbc.a: archive $builddir/src/file.o $builddir/src/ninja.o $builddir/src/platform.o $builddir/src/target_exe.o $builddir/src/utils.o $builddir/src/generator.o $builddir/src/target_lib.o $builddir/src/package.o
|
||||
|
||||
## Compile: src/main.cc ##
|
||||
|
||||
build $builddir/src/main.o: cxx src/main.cc
|
||||
p_cflags = -fdiagnostics-color=always -DHCONFIG= -Iinclude -Ivendor/sol2/include
|
||||
|
||||
## Link: grbc ##
|
||||
|
||||
build grbc: link_cxx $builddir/src/main.o $builddir/src/file.o $builddir/src/ninja.o $builddir/src/platform.o $builddir/src/target_exe.o $builddir/src/utils.o $builddir/src/generator.o
|
||||
p_linker_flags = -llua -lm -ldl
|
||||
build $builddir/grbc: link_cxx $builddir/src/main.o
|
||||
p_linker_flags = -llua -lm -ldl build/libgrbc.a
|
||||
p_cflags =
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue