Skip to content

Commit 97bfe2b

Browse files
committed
Changed: Restructured source code
1 parent 770a1c4 commit 97bfe2b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+133425
-1252
lines changed

build.sh

+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
#!/bin/sh
2+
3+
PROJECT_NAME="z_"
4+
CC=gcc
5+
CCFLAGS="-Wall -Wextra -O2"
6+
LIBFLAGS=""
7+
TESTFLAGS="-ggdb -g"
8+
AR=ar
9+
ARFLAGS="-q"
10+
OUT_BIN="z_"
11+
OUT_LIB="libz_.a"
12+
OUT_HEAD="z_"
13+
BIN_DIR="$HOME/../usr/bin/"
14+
LIB_DIR="$HOME/../usr/lib/"
15+
INC_DIR="$HOME/../usr/include/"
16+
17+
check_build() {
18+
if [ -d "./build" ]; then
19+
continue
20+
else
21+
$(mkdir ./build)
22+
fi
23+
}
24+
25+
make_clean() {
26+
clean_what="./build"
27+
casevar=$1
28+
case "$casevar" in
29+
"lib") clean_what="$clean_what/lib"
30+
;;
31+
"headers") clean_what="$clean_what/include"
32+
;;
33+
"test") clean_what="$clean_what/test"
34+
;;
35+
"bin") clean_what="$clean_what/bin"
36+
;;
37+
"ofiles") clean_what="*.o"
38+
;;
39+
"all") clean_what="$clean_what *.o"
40+
;;
41+
*) echo "Unknown option '$*'"
42+
return
43+
;;
44+
esac
45+
46+
$(rm -rf $clean_what)
47+
}
48+
49+
make_lib_header() {
50+
name=$OUT_HEAD
51+
$(find "./src/lib" -name '*.h' | cpio -pdm ./build/include)
52+
$(rm -rf ./build/$name)
53+
$(mv ./build/include/src/lib ./build/include/$name)
54+
$(rm -rf ./build/include/src)
55+
echo "Made headers as $name in ./build/include"
56+
}
57+
58+
make_lib(){
59+
extraflags="$1"
60+
FILES=$(find "./src/lib" -name '*.c')
61+
$($CC $CCFLAGS $extraflags -c $FILES)
62+
$($AR $ARFLAGS $OUT_LIB *.o)
63+
make_clean "all"
64+
$(mkdir ./build)
65+
$(mkdir ./build/lib)
66+
$(mv $OUT_LIB ./build/lib)
67+
}
68+
69+
make_bin(){
70+
make_lib
71+
FILES=$(find "./src/bin" -name '*.c')
72+
$(mkdir ./build/bin)
73+
$($CC $CCFLAGS $LIBFLAGS $FILES ./build/lib/$OUT_LIB -o ./build/bin/$OUT_BIN)
74+
}
75+
76+
make_install_lib() {
77+
make_lib
78+
$(mv -ni ./build/lib/$OUT_LIB "$LIB_DIR")
79+
make_lib_header
80+
$(cp -Rf ./build/include/$OUT_HEAD "$INC_DIR")
81+
$(rm -rf ./build/include/$OUT_HEAD)
82+
}
83+
84+
make_install_bin() {
85+
make_bin
86+
$(mv -ni ./build/bin/$OUT_BIN "$BIN_DIR")
87+
}
88+
89+
make_install() {
90+
case "$1" in
91+
"bin") make_install_bin
92+
;;
93+
"lib") make_install_lib
94+
;;
95+
*) echo "Unknown option '$1', either use 'bin' or 'lib'"
96+
;;
97+
esac
98+
}
99+
100+
make_test_lib(){
101+
make_lib $TESTFLAGS
102+
FILES=$(find "./src/testlib" -name '*.c')
103+
$($CC $CCFLAGS $FILES ./build/lib/$OUT_LIB -o "./build/testlib")
104+
}
105+
106+
make() {
107+
check_build $1
108+
case "$1" in
109+
"lib") make_lib
110+
;;
111+
"headers") make_lib_header
112+
;;
113+
"bin") make_bin
114+
;;
115+
"install") make_install $2
116+
;;
117+
"testlib") make_test_lib
118+
;;
119+
"testbin") make_test_bin
120+
;;
121+
"clean")
122+
make_clean $2
123+
;;
124+
*)
125+
echo "Unknown option '$1'"
126+
echo "Usage: $0 [ lib | headers | bin | testlib | testbin | install[lib|bin]]"
127+
;;
128+
esac
129+
130+
}
131+
132+
make $*

cbuild.py

-202
This file was deleted.

make-headers.sh

-12
This file was deleted.

make-install.sh

-12
This file was deleted.

make-lib.sh

-22
This file was deleted.

0 commit comments

Comments
 (0)