214 lines
4.8 KiB
Makefile
214 lines
4.8 KiB
Makefile
|
# Compiler
|
||
|
CC = gcc
|
||
|
|
||
|
# Compiler flags
|
||
|
CFLAGS = -Wall -Wextra -Werror -Ofast -std=c2x -lm -lrt -pthread -fPIC
|
||
|
LDFLAGS = -lm
|
||
|
|
||
|
# -D_POSIX_C_SOURCE=199309L
|
||
|
all: clear test_rbuffer test_rliza test_rnet test_rmalloc test_rtemp test_rjson test_rrex4 test_rstring_list test_rhttp test_rtime test_arena test_rtree test_rstring test_rlexer test_rrex3 test_rio test_rhashtable test_rkeytable test_rterminal test_rmerge run_rmerge format_all build format_all test_rlib
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
format_all: format_rlib_h
|
||
|
clang-format *.c *.h *.cpp -i --sort-includes=false
|
||
|
|
||
|
format_rlib_h:
|
||
|
clang-format rlib.h build/rlib.h -i --sort-includes --verbose
|
||
|
|
||
|
clear:
|
||
|
-@rm -rf build
|
||
|
@mkdir build
|
||
|
@echo "Build directory emptied"
|
||
|
|
||
|
rebuild: clear all
|
||
|
|
||
|
test_rbuffer: build_rbuffer run_rbuffer
|
||
|
build_rbuffer:
|
||
|
$(CC) $(CFLAGS) rbuffer.c -o ./build/rbuffer
|
||
|
run_rbuffer:
|
||
|
./build/rbuffer test
|
||
|
|
||
|
test_rliza: build_rliza run_rliza
|
||
|
build_rliza:
|
||
|
$(CC) $(CFLAGS) rliza.c -o ./build/rliza
|
||
|
run_rliza:
|
||
|
./build/rliza test
|
||
|
|
||
|
test_rnet: build_rnet run_rnet
|
||
|
build_rnet:
|
||
|
$(CC) $(CFLAGS) rnet.c -o ./build/rnet
|
||
|
run_rnet:
|
||
|
./build/rnet test
|
||
|
|
||
|
test_rtemp: build_rtemp run_rtemp
|
||
|
build_rtemp:
|
||
|
$(CC) $(CFLAGS) rtemp.c -o ./build/rtemp
|
||
|
run_rtemp:
|
||
|
./build/rtemp
|
||
|
|
||
|
test_rjson: build_rjson run_rjson
|
||
|
build_rjson:
|
||
|
$(CC) $(CFLAGS) rjson.c -o ./build/rjson
|
||
|
run_rjson:
|
||
|
./build/rjson
|
||
|
|
||
|
|
||
|
test_rstring_list: build_rstring_list run_rstring_list
|
||
|
build_rstring_list:
|
||
|
$(CC) $(CFLAGS) rstring_list.c -o ./build/rstring_list
|
||
|
run_rstring_list:
|
||
|
./build/rstring_list
|
||
|
|
||
|
test_rhttp: build_rhttp run_rhttp
|
||
|
build_rhttp:
|
||
|
$(CC) $(CFLAGS) rhttp.c -o ./build/rhttp
|
||
|
run_rhttp:
|
||
|
./build/rhttp
|
||
|
|
||
|
test_rautocomplete: build_rautocomplete run_rautocomplete
|
||
|
build_rautocomplete:
|
||
|
$(CC) $(CFLAGS) rautocomplete.c -o ./build/rautocomplete
|
||
|
run_rautocomplete:
|
||
|
./build/rautocomplete
|
||
|
|
||
|
test_rlexer: build_rlexer run_rlexer
|
||
|
build_rlexer:
|
||
|
$(CC) $(CFLAGS) rlexer.c -o ./build/rlexer
|
||
|
run_rlexer:
|
||
|
./build/rlexer
|
||
|
|
||
|
|
||
|
test_rrex4: build_rrex4 run_rrex4
|
||
|
build_rrex4:
|
||
|
$(CC) $(CFLAGS) rrex4.c -o ./build/rrex4
|
||
|
run_rrex4:
|
||
|
./build/rrex4
|
||
|
|
||
|
test_rrex3: build_rrex3 run_rrex3
|
||
|
build_rrex3:
|
||
|
$(CC) $(CFLAGS) rrex3.c -o ./build/rrex3
|
||
|
run_rrex3:
|
||
|
./build/rrex3
|
||
|
|
||
|
test_rio: build_rio run_rio
|
||
|
build_rio:
|
||
|
$(CC) $(CFLAGS) rio.c -o ./build/rio
|
||
|
run_rio:
|
||
|
./build/rio
|
||
|
|
||
|
|
||
|
|
||
|
test_rterm: build_rterm run_rterm
|
||
|
build_rterm:
|
||
|
$(CC) $(CFLAGS) rterm.c -o ./build/rterm
|
||
|
run_rterm:
|
||
|
./build/rterm
|
||
|
|
||
|
test_rterminal: build_rterminal run_rterminal
|
||
|
build_rterminal:
|
||
|
$(CC) $(CFLAGS) rterminal.c -o ./build/rterminal
|
||
|
run_rterminal:
|
||
|
./build/rterminal
|
||
|
|
||
|
test_rmerge: build_rmerge run_rmerge
|
||
|
build_rmerge:
|
||
|
$(CC) $(CFLAGS) rmerge.c -o ./build/rmerge
|
||
|
run_rmerge:
|
||
|
./build/rmerge _rlib.h > ./build/rlib.h
|
||
|
cp ./build/rlib.h ./rlib.h
|
||
|
|
||
|
test_rprint: build_rprint run_rprint
|
||
|
build_rprint:
|
||
|
$(CC) $(CFLAGS) rprint.c -o ./build/rprint
|
||
|
run_rprint:
|
||
|
./build/rprint
|
||
|
|
||
|
test_rstring: build_rstring run_rstring
|
||
|
build_rstring:
|
||
|
$(CC) $(CFLAGS) rstring.c -o ./build/rstring
|
||
|
run_rstring:
|
||
|
./build/rstring
|
||
|
|
||
|
test_rbench: build_rbench run_rbench
|
||
|
build_rbench:
|
||
|
$(CC) $(CFLAGS) rbench.c -o ./build/rbench
|
||
|
run_rbench:
|
||
|
./build/rbench
|
||
|
|
||
|
test_rbench_cpp: build_rbench_cpp run_rbench_cpp
|
||
|
build_rbench_cpp:
|
||
|
g++ $(CFLAGS) ./C-Data-Structs/src/primes.c rbench.cpp -o ./build/rbench.cpp -I./C-Data-Structs/include
|
||
|
run_rbench_cpp:
|
||
|
./build/rbench.cpp
|
||
|
|
||
|
test_yurii_cpp: format_all build_yurii_cpp run_yurii_cpp
|
||
|
build_yurii_cpp:
|
||
|
rmerge rbench.cpp > yurii_hashmap.cpp
|
||
|
g++ C-Data-Structs/src/primes.c yurii_hashmap.cpp -o ./build/yurii_hashmap.cpp -IC-Data-Structs/include
|
||
|
run_yurii_cpp:
|
||
|
./build/yurii_hashmap.cpp
|
||
|
|
||
|
test_rmalloc: build_rmalloc run_rmalloc
|
||
|
build_rmalloc:
|
||
|
$(CC) $(CFLAGS) rmalloc.c -o ./build/rmalloc
|
||
|
run_rmalloc:
|
||
|
./build/rmalloc
|
||
|
|
||
|
test_rtime: build_rtime run_rtime
|
||
|
build_rtime:
|
||
|
$(CC) $(CFLAGS) rtime.c -o ./build/rtime
|
||
|
run_rtime:
|
||
|
./build/rtime
|
||
|
|
||
|
test_arena: build_arena run_arena
|
||
|
build_arena:
|
||
|
$(CC) $(CFLAGS) arena.c -o ./build/arena
|
||
|
run_arena:
|
||
|
./build/arena
|
||
|
|
||
|
test_rlib: build_rlib run_rlib
|
||
|
build_rlib:
|
||
|
$(CC) $(CFLAGS) rlib.c -o ./build/rlib
|
||
|
run_rlib:
|
||
|
./build/rlib test
|
||
|
|
||
|
test_rtree: build_rtree run_rtree
|
||
|
build_rtree:
|
||
|
$(CC) $(CFLAGS) rtree.c -o ./build/rtree
|
||
|
run_rtree:
|
||
|
./build/rtree
|
||
|
|
||
|
test_rhashtable: build_rhashtable run_rhashtable
|
||
|
build_rhashtable:
|
||
|
$(CC) $(CFLAGS) rhashtable.c -o ./build/rhashtable
|
||
|
run_rhashtable:
|
||
|
./build/rhashtable
|
||
|
|
||
|
test_rkeytable: build_rkeytable run_rkeytable
|
||
|
build_rkeytable:
|
||
|
$(CC) $(CFLAGS) rkeytable.c -o ./build/rkeytable
|
||
|
run_rkeytable:
|
||
|
./build/rkeytable
|
||
|
|
||
|
build: format_rlib_h
|
||
|
cp ./clean build/clean
|
||
|
cp rlib.h rlibrlibso.c
|
||
|
@gcc rlibrlibso.c $(CFLAGS) -shared -o ./build/librlib.so
|
||
|
@echo "Built a new rlib.so"
|
||
|
@gcc rlibso.c -L./build -Wl,-rpath=. -lrlib -o ./build/rlibso ${CFLAGS}
|
||
|
@cd ./build && ./rlibso
|
||
|
@echo "Build succesful"
|
||
|
|
||
|
install:
|
||
|
sudo cp ./build/rlib.h /usr/include/rlib.h
|
||
|
sudo cp ./build/rmerge /usr/local/bin/rmerge
|
||
|
sudo cp ./build/clean /usr/local/bin/clean
|
||
|
sudo cp ./build/rlib /usr/local/bin/rlib
|
||
|
|
||
|
publish:
|
||
|
brz add
|
||
|
brz commit
|
||
|
brz push lp:rlib
|