-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmkfile
More file actions
76 lines (60 loc) · 1.32 KB
/
mkfile
File metadata and controls
76 lines (60 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#generic c/c++ mkfile
NAME=bshc
CC=cc
#CC=gcc
#CCXX=g++
_CCARG= -g -Wall -Wextra -pedantic -fpie
CCARG= -std=c99 -D_GNU_SOURCE -DDEBUG $_CCARG $CCX
#CCXXARG= -std=c++2a -g -Wall -pedantic -fPIC $CXXEXTRA
LDARG= $LDX
#SRC=`{ls -1 *.cpp|sed 's/....$//'; ls -1 *.c|sed 's/..$//'; }
#OBJ=`{ls -1 *.cpp|sed 's/....$/.o/'; ls -1 *.c|sed 's/..$/.o/'; }
SRC=`{ls -1 *.c|sed 's/..$//'; }
OBJ=`{ls -1 *.c|sed 's/..$/.o/'; }
EOBJ= submod/pdjson/pdjson.o
EXEC=a.out
#LIBSO=$NAME.so
#LIBA=$NAME.a
#run: output
# ./$EXEC
#test: lib-shared
# gcc test.c -o test.out
output: $OBJ pdjson
$CC $LDARG $OBJ $EOBJ -o $EXEC
#libstatic: $OBJ
## DARG=-static
# ar rcs $LIBA $OBJ
#libshared: $OBJ
# $CC -shared -o $LIBSO $OBJ
%.o: %.cpp
$CCXX $CCXXARG -c $prereq -o $target
%.o: %.c
$CC $CCARG -c $prereq -o $target
testCC: $OBJ
$CC $CCARG -c tests/tests.c -o tests/tests.o
_test: $OBJ testCC pdjson
$CC $LDARG $OBJ $EOBJ tests/tests.o -o bshc_test.out
test:
mk _test CCX='-D_TESTS ' CC=$CC
testcl:
rm -f tests/*.o bshc_test.out
pdjson:
cd submod/pdjson/
make
pdjsoncl:
cd submod/pdjson/
make clean
cl: testcl
rm -f *.o *.gch
nk: cl pdjsoncl cleartags
rm -f $EXEC
rm -f $LIBSO $LIBA
wc:
wc -l *.{c,h} submod/libctfb/*.{c,h} submod/libctfb/cstl/tmpl/arr.*
ctags:
ctags -R .
cleartags:
rm -f tags
clearswap:
rm .*.swp
# vim : set ft=make: