TARGETS=func fpointer macros pointer struct reference counter exception1 iostream test
OBJECTS=class.o class1.o copycon.o defaultarg.o namespace.o static.o storage.o

CC=gcc
CXX=g++
CFLAGS=
LDFLAGS=
CPPFLAGS=

all: $(TARGETS) $(OBJECTS)

.SUFFIXES: .c .o .cpp

.cpp.o:
	$(CXX) -c $< $(CXXFLAGS) -o $@

.c.o:
	$(CC) -c $< $(CFLAGS) -o $@

clean:
	rm -f *.o
	rm -f $(TARGETS)

func: func.o
	$(CC) $< $(LDFLAGS) -o $@

fpointer: fpointer.o
	$(CC) $< $(LDFLAGS) -o $@

macros: macros.o
	$(CC) $< $(LDFLAGS) -o $@

pointer: pointer.o
	$(CC) $< $(LDFLAGS) -o $@

struct: struct.o
	$(CC) $< $(LDFLAGS) -o $@

reference: reference.o
	$(CXX) $< $(LDFLAGS) -o $@

counter: counter.o
	$(CC) $< $(LDFLAGS) -o $@

exception1: exception1.o
	$(CXX) $< $(LDFLAGS) -o $@

iostream: iostream.o
	$(CXX) $< $(LDFLAGS) -o $@

test: test.o
	$(CC) $< $(LDFLAGS) -o $@

