# Standardowe flagi jezyka C.
CFLAGS=-ggdb -Wall -Wextra
# Uproszczone flagi jezyka C (bez bałaganu związanego z debugowaniem).
SIMPLE_CFLAGS=-Wall -Wextra

#
# Pierwszy cel, buduj te pliki domyślnie.
# 
all: hello hello.i hello.S hello.lst hello.map

hello: hello.c
	gcc $(CFLAGS) -o hello hello.c

hello.map: hello.c
	gcc $(SIMPLE_CFLAGS) -static -Wl,-Map=hello.map -o hello.tmp hello.c
	rm -f hello.tmp

hello.i: hello.c
	gcc -E hello.c >hello.i

hello.S: hello.c
	gcc $(SIMPLE_CFLAGS) -S hello.c 

hello.lst: hello.c
	gcc $(SIMPLE_CFLAGS) -Wa,-a=hello.lst -c hello.c
#
# make clean 
# 	Usuwa wszystkie wygenerowane pliki.
clean:
	rm -f hello hello.i hello.s hello.lst hello.o

