41 lines
864 B
Makefile
41 lines
864 B
Makefile
CC = gcc
|
|
CFLAGS_BASE = -O2 -Wall
|
|
|
|
all: nodebug withdebug
|
|
|
|
nodebug: program.c
|
|
$(CC) $(CFLAGS_BASE) -o $@ $< -lm
|
|
|
|
withdebug: program.c
|
|
$(CC) $(CFLAGS_BASE) -g -o $@ $< -lm
|
|
|
|
# Show the size difference
|
|
sizes: nodebug withdebug
|
|
@echo "File sizes:"
|
|
@ls -lh nodebug withdebug
|
|
@echo ""
|
|
@echo "Section sizes (nodebug):"
|
|
@size nodebug
|
|
@echo ""
|
|
@echo "Section sizes (withdebug):"
|
|
@size withdebug
|
|
|
|
# Show symbols
|
|
symbols: nodebug withdebug
|
|
@echo "Symbols in nodebug:"
|
|
@nm nodebug | grep -E "compute|process|main" || true
|
|
@echo ""
|
|
@echo "Symbols in withdebug:"
|
|
@nm withdebug | grep -E "compute|process|main" || true
|
|
|
|
# Strip the debug version to show what happens
|
|
stripped: withdebug
|
|
cp withdebug stripped
|
|
strip stripped
|
|
@echo "Stripped file created"
|
|
|
|
clean:
|
|
rm -f nodebug withdebug stripped perf.data perf.data.old
|
|
|
|
.PHONY: all sizes symbols clean stripped
|