Linux general

Git

C++11

Stolen C++ makefile example:

TARGET=elevator
CC = gcc
COMMONFLAGS += -Wall -Wextra -pedantic -MD -MP -g
CPPFLAGS = $(COMMONFLAGS) -std=c++14
CFLAGS = $(COMMONFLAGS) -std=gnu99
LDFLAGS = -lstdc++ -lcomedi -lpthread -lm
MODULES = network driver driver/hw_interface dispatch_logic util
CPPSRC = main.cpp $(foreach m, $(MODULES), $(wildcard $(m)/*.cpp))
CSRC = $(foreach m, $(MODULES), $(wildcard $(m)/*.c))
OBJ = $(CPPSRC:%.cpp=%.o) $(CSRC:%.c=%.o)

all: $(TARGET)

$(TARGET): $(OBJ)
	$(CC) $^ $(LDFLAGS) -o $@

%.o: %.cpp
	$(CC) $(CPPFLAGS) -c $< -o $@

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

-include $(CPPSRC:%.cpp=%.d) $(CSRC:%.c=%.d)

clean:
	rm -f $(OBJ) $(CPPSRC:%.cpp=%.d) $(CSRC:%.c=%.d)

.PHONY: all clean

###Ex1

g++ --version
g++-4.9 -std=gnu++14 -lrt -pthread AssD.cpp AssD
g++-4.9 --version
set(CMAKE_CXX_COMPILER "/usr/bin/g++-4.9")

###Ex5

g++-4.9 main.cpp io.cpp -std=gnu++14 -lcomedi -lrt -pthread -lm -o AssA