CTree/Justfile
2023-12-08 07:48:11 +01:00

47 lines
No EOL
1.1 KiB
Makefile

run: build
./build/main
build: mkdir objects
gcc build/*.o -o build/main -O3
du -h build/main
objects: mkdir
cd build && gcc -c -I ../lib -Wall -Werror -fpic ../src/*.c -O3
du -h build/*.o
asm: mkdir
cd build && gcc -S -masm=intel -I ../lib -Wall -Werror -fpic ../src/*.c -O3
release: mkdir build && check-releases
mkdir release -p
strip build/main
cd release && tar -czvf build.tar.gz ../build &> /dev/null
cd release && 7za a -tzip build.zip ../build -mx=9 &> /dev/null
sha256sum release/* > release/sha256sums.txt
check-releases:
sha256sum -c release/sha256sums.txt # Checking if sha256sums are valid
tar -tf release/build.tar.gz &>/dev/null # Checking if tar is valid
7za t release/build.zip &>/dev/null # Checking if zip is valid
mkdir:
mkdir build -p
clean:
rm -rf release
rm -rf build
hex: build
objdump -M intel -d build/main
symbols: build
nm build/main
symbols2: build
readelf -s build/main
rodata: build
objdump -s -j .rodata build/main
fmt:
fd -e c -e h -x clang-format --verbose -i {}