.PHONY: all clean

all:

MODULES:=main \
	 mod1 \
	 mod2 \

IMAGES:=test_gld_error \
	test_gdb_error \

OBJECTS:=$(addsuffix .o,$(MODULES))
STABS:=$(addsuffix .stabs,$(OBJECTS))
CC:=gcc
CFLAGS:=-g -c

make: makeinclude.gn
makeinclude.gn: *.c *.h
	$(CC) -M *.c > makeinclude.gn

include makeinclude.gn

all: $(OBJECTS) $(STABS) $(IMAGES)

test_gld_error: $(OBJECTS)
	gcc -v -o $@ main.o mod1.o
	objdump --stabs $@ > $@.stabs

test_gdb_error: $(OBJECTS)
	gcc -v -o $@ main.o mod2.o
	objdump --stabs $@ > $@.stabs

%.o: %.c
	$(CC) $(CFLAGS) $<

%.o.stabs: %.o
	objdump --stabs $< > $@


clean:
	rm -f $(IMAGES) *.o *.stabs *.gn
