removed unnececary out file copy

This commit is contained in:
Timerix22 2023-05-19 14:09:06 +06:00
parent dc5947f92d
commit e8e42424d3
3 changed files with 6 additions and 11 deletions

View File

@ -7,7 +7,7 @@ CMP_C="gcc"
CMP_CPP="g++" CMP_CPP="g++"
STD_C="c11" STD_C="c11"
STD_CPP="c++11" STD_CPP="c++11"
WARN_C="-Wall -Wno-ignored-qualifiers -Wextra -Wno-unused-parameter" WARN_C="-Wall -Wno-discarded-qualifiers -Wextra -Wno-unused-parameter"
WARN_CPP="-Wall -Wextra -Wno-unused-parameter" WARN_CPP="-Wall -Wextra -Wno-unused-parameter"
SRC_C="$( find src -name '*.c')" SRC_C="$( find src -name '*.c')"
SRC_CPP="$( find src -name '*.cpp')" SRC_CPP="$( find src -name '*.cpp')"
@ -15,10 +15,9 @@ TESTS_C="$( find tests -name '*.c')"
TESTS_CPP="$(find tests -name '*.cpp')" TESTS_CPP="$(find tests -name '*.cpp')"
# OBJDIR structure: # OBJDIR structure:
# ├── objects - dir where compiled *.o files are stored. cleans every call of build task # ├── objects/ - dir where compiled *.o files are stored. cleans every call of build task
# ├── profile - dir where gcc *.gcda profiling info files stored # ├── profile/ - dir where gcc *.gcda profiling info files stored
# ├── libs - there you can put static libs and linker will find them # └── libs/ - there you can put static libs and linker will find them
# └── out - output files are created here and then copied to OUTDIR
OBJDIR="obj" OBJDIR="obj"
OUTDIR="bin" OUTDIR="bin"
STATIC_LIB_FILE="$PROJECT.a" STATIC_LIB_FILE="$PROJECT.a"

View File

@ -83,16 +83,14 @@ function link {
local args="$1" local args="$1"
myprint "${BLUE}args: ${GRAY}$args" myprint "${BLUE}args: ${GRAY}$args"
local outfile="$2" local outfile="$2"
clean_dir $OBJDIR/out
myprint "${BLUE}outfile: ${GRAY}$outfile" myprint "${BLUE}outfile: ${GRAY}$outfile"
local objects="$(find $OBJDIR/objects -name '*.o') local objects="$(find $OBJDIR/objects -name '*.o')
$(find $OBJDIR/libs -name '*.a')" $(find $OBJDIR/libs -name '*.a')"
myprint "${BLUE}objects: ${GRAY}$objects" myprint "${BLUE}objects: ${GRAY}$objects"
local command="$CMP_CPP $(echo "$objects" | tr '\n' ' ') $args -o $OBJDIR/out/$outfile" local command="$CMP_CPP $(echo "$objects" | tr '\n' ' ') $args -o $OUTDIR/$outfile"
myprint "$command" myprint "$command"
if $command if $command
then then
cp "$OBJDIR/out/$outfile" "$OUTDIR/$outfile"
myprint "${GREEN}file $CYAN$outfile ${GREEN}created" myprint "${GREEN}file $CYAN$outfile ${GREEN}created"
else else
error "some error happened" error "some error happened"
@ -107,9 +105,8 @@ function pack_static_lib {
local objects="$(find $OBJDIR/objects -name *.o) local objects="$(find $OBJDIR/objects -name *.o)
$(find $OBJDIR/libs -name '*.a')" $(find $OBJDIR/libs -name '*.a')"
myprint "${BLUE}objects: ${GRAY}$objects" myprint "${BLUE}objects: ${GRAY}$objects"
if gcc-ar rcs -o "$OBJDIR/out/$outfile" $(echo "$objects" | tr '\n' ' ') if ar rcs "$OUTDIR/$outfile" $(echo "$objects" | tr '\n' ' ')
then then
cp "$OBJDIR/out/$outfile" "$OUTDIR/$outfile"
myprint "${GREEN}file $CYAN$outfile ${GREEN}created" myprint "${GREEN}file $CYAN$outfile ${GREEN}created"
else else
error "some error happened" error "some error happened"

View File

@ -69,7 +69,6 @@ mkdir -p "$OUTDIR"
mkdir -p "$OBJDIR/libs" mkdir -p "$OBJDIR/libs"
mkdir -p "$OBJDIR/objects" mkdir -p "$OBJDIR/objects"
mkdir -p "$OBJDIR/profile" mkdir -p "$OBJDIR/profile"
mkdir -p "$OBJDIR/out"
# dont thorw error on undefined variable # dont thorw error on undefined variable
set +u set +u