FlyByWireCpp/Makefile

42 lines
858 B
Makefile
Raw Normal View History

2019-03-28 16:38:50 +01:00
# Declaration of variables
C = clang
COMMON_FLAGS = -Wall -MMD
C_FLAGS = $(COMMON_FLAGS)
2019-03-28 16:38:50 +01:00
CC = clang++
2019-11-17 14:20:19 +01:00
CC_FLAGS = $(COMMON_FLAGS) -std=c++17 -ffast-math # -funsafe-math-optimizations
LD_FLAGS =
INCLUDES =
2019-03-28 16:38:50 +01:00
# File names
EXEC = run
CSOURCES = $(wildcard *.c)
COBJECTS = $(CSOURCES:.c=.o)
SOURCES = $(wildcard *.cpp)
OBJECTS = $(SOURCES:.cpp=.o)
2019-03-28 16:38:50 +01:00
# Main target
$(EXEC): $(COBJECTS) $(OBJECTS)
$(CC) $(COBJECTS) $(OBJECTS) -o $(EXEC) $(LD_FLAGS)
# To obtain C++ object files
2019-03-28 16:38:50 +01:00
%.o: %.cpp
$(CC) $(INCLUDES) $(CC_FLAGS) -o $@ -c $<
# To obtain C object files
2019-03-28 16:38:50 +01:00
%.o: %.c
$(C) $(INCLUDES) $(C_FLAGS) -o $@ -c $<
-include $(SOURCES:%.cpp=%.d)
-include $(CSOURCES:%.c=%.d)
# To generate the documentation
doc:
doxygen Doxyfile
2019-03-28 16:38:50 +01:00
# To remove generated files
clean:
rm -f $(COBJECTS) $(OBJECTS) $(SOURCES:%.cpp=%.d) $(CSOURCES:%.c=%.d)
2019-03-28 16:38:50 +01:00
cleaner: clean
rm -f $(EXEC)