OPT=-O0
EXTRAFLAGS=
CFLAGS=-g -Wall $(OPT) $(EXTRAFLAGS)
CXXFLAGS=-g -Wall $(OPT) $(EXTRAFLAGS)
LDFLAGS=-g -Wall $(OPT) $(EXTRAFLAGS)

CSOURCES:=$(shell ls *.c | grep -v '\..\..\.c' )
CPPSOURCES:=$(shell ls *.cpp | grep -v '\..\..\.cpp' )
CEXECS:=$(CSOURCES:.c=)
CPPEXECS:=$(CPPSOURCES:.cpp=)

CEXECS:=$(CEXECS) example4.2

all: $(CEXECS) $(CPPEXECS)

clean:
	$(RM) -- $(CPPEXECS) $(CEXECS) *.o *.a core* *.html

realclean: clean
	$(RM) -- *.gcno

.PHONY: clean realclean all

example2: custom_type.h

example4.2: example4.2.o example4.2.2.o
example4.2.o example4.2.2.o: example4.2.h
