SHELL = /bin/sh
AS = gas
CC = gcc
CXX  = g++
LINK = gcc
STRIP = strip --strip-unneeded
DEBUG = gdb
CFLAGS = -Wall -ansi $(INCS)
CXXFLAGS = $(CFLAGS)
CPPFLAGS =
CDEBUG = -g -O0
LDEBUG = -g
LDFLAGS =
INCS = -I/usr/include -I/usr/local/include
LIBS = -L. -L/lib -L/usr/lib -L/usr/local/lib
OBJS = transmat.o
BIN = transmat

.PHONY: all clean debug release run pedantic
.SUFFIXES: .c .cpp .o

all: $(BIN)

$(BIN): $(OBJS)
	$(LINK) $(LDFLAGS) -o $(BIN) $(OBJS) $(LIBS)  

#$(OBJS): globals.h

clean:
	$(RM) *~ *.o $(BIN)

debug: CFLAGS := $(CDEBUG) $(CFLAGS) -DDEBUG
debug: LDFLAGS := $(LDEBUG) $(LDFLAGS)
debug: clean $(BIN)
	$(DEBUG) $(BIN)

release: clean $(BIN)
	$(STRIP) $(BIN)

run: $(BIN)
	./$(BIN)

pedantic: CFLAGS += -pedantic
pedantic: $(BIN)


#########################
# File-specific section #
#########################

# C   modules - headers dependencies
#main.o: %.o : %.h

# C++ modules - headers dependencies
#main.o: %.o : %.hpp
