47 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			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 {}
 | 
