DEBUG = -g
#DEBUG = -O2
CC = g++
CFLAGS = -Wall -Werror $(DEBUG)
LDFLAGS = $(DEBUG)

MESH_SRCS = util.cpp vec.cpp point.cpp bbox.cpp triangle.cpp mesh.cpp
MESH_OBJS = $(MESH_SRCS:.cpp=.o)

.PHONY: all
all:
	@$(MAKE) --no-print-directory .depend
	@$(MAKE) --no-print-directory libmesh.a

libmesh.a: $(MESH_OBJS)
	ar -rvs libmesh.a $(MESH_OBJS)

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

SOURCES = $(MESH_SRCS)

.depend: $(SOURCES)
	$(CC) -E -MM $(CFLAGS) $(SOURCES) > .depend

sinclude .depend

.PHONY: clean
clean:
	$(RM) libmesh.a $(MESH_OBJS) .depend core
