.SUFFIXES: .cpp .o
CC=g++
CFLAGS=-c -std=c++0x -O3 -DNDEBUG
LDFLAGS=-static
SOURCES=chains.cpp main.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=chains
OTHERS=chains.hpp Makefile
ZIP=zip
ZIPFILE=chains.zip

all: $(EXECUTABLE) $(ZIPFILE)

$(EXECUTABLE): $(OBJECTS)
	$(CC) $(OBJECTS) $(LDFLAGS) -o $@

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

$(ZIPFILE): $(SOURCES) $(OTHERS)
	$(ZIP) $(ZIPFILE) $(SOURCES) $(OTHERS)

clean:
	rm -f $(OBJECTS) $(EXECUTABLE) $(ZIPFILE)
