46 lines
No EOL
1,022 B
Makefile
46 lines
No EOL
1,022 B
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
|
|
|
|
check-releases:
|
|
sha256sum release/* > release/sha256sums.txt
|
|
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 {}
|