extension work + static library linking

This commit is contained in:
Hunter 2024-09-28 10:16:00 -04:00
parent ffa0f40652
commit b6ee9d0dc3
20 changed files with 568 additions and 131 deletions

View file

@ -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 =