Skip to content

Instantly share code, notes, and snippets.

@IGI-111
Created October 19, 2015 06:58
Show Gist options
  • Save IGI-111/a712e73ff4b2417ed146 to your computer and use it in GitHub Desktop.
Save IGI-111/a712e73ff4b2417ed146 to your computer and use it in GitHub Desktop.
Compilation de colourist sur les PC ENSIMAG
##################################################
# Project name
TARGET = colorist
# Compiler and flags
CC = LD_LIBRARY_PATH="/opt/gcc-4.9.3/lib" /opt/gcc-4.9.3/bin/g++
CFLAGS = -Wall -g -std=c++14 -I /opt/gcc-4.9.3/include -L /opt/gcc-4.9.3/lib
# Catch unit testing
CATCHFLAGS = -r compact
# Project directories
SRCDIR = src
OBJDIR = obj
BINDIR = bin
TESTDIR = src/test
##################################################
rm = rm -f
SOURCES := $(wildcard $(SRCDIR)/*.cxx)
OBJECTS := $(SOURCES:$(SRCDIR)/%.cxx=$(OBJDIR)/%.o)
TEST_SOURCES := $(wildcard $(TESTDIR)/*.cxx) $(filter-out $(SRCDIR)/main.cxx,$(SOURCES))
TEST_OBJECTS := $(TEST_SOURCES:$(SRCDIR)/%.cxx=$(OBJDIR)/%.o)
all: $(BINDIR)/$(TARGET) test
$(BINDIR)/$(TARGET): $(OBJECTS)
@$(CC) -o $@ $(CFLAGS) $(OBJECTS)
@echo "Linking complete!"
$(sort $(TEST_OBJECTS) $(OBJECTS)): $(OBJDIR)/%.o : $(SRCDIR)/%.cxx
@$(CC) $(CFLAGS) -c $< -o $@
@echo "Compiled "$<" successfully!"
.PHONEY: test
test: $(BINDIR)/test
@./$(BINDIR)/test $(CATCHFLAGS)
$(BINDIR)/test : $(TEST_OBJECTS)
@$(CC) -o $@ $(CFLAGS) $(TEST_OBJECTS)
.PHONEY: clean
clean:
@$(rm) $(wildcard $(OBJDIR)/*.o $(OBJDIR)/test/*.o) $(BINDIR)/$(TARGET) $(BINDIR)/test
@echo "Cleanup complete!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment