Something went wrong on our end
-
Jake Drahos authoredJake Drahos authored
Makefile 1.21 KiB
# Declaration of variables
GCC=gcc
GXX=g++
CFLAGS= -Wall -Wpedantic -Wextra -Werror -std=c99 -g -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable
CXXFLAGS= -Wall -Wno-reorder -std=c++0x -g
INCLUDES = $(foreach dir, $(INCDIR), -I$(dir))
# Directories
SRCDIR=src
INCDIR=inc src src/vrpn src/vrpn/quat src/vrpn/build
OBJDIR=obj
# Final exacutable name
EXE=BlueTooth
# File names
CSOURCES := $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.c ))
CPPSOURCES := $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.cpp ))
COBJECTS = $(CSOURCES:.c=.o)
CPPOBJECTS = $(CPPSOURCES:.cpp=.o)
OBJECTS = $(CPPOBJECTS) $(COBJECTS)
LIBS= -lpthread -lbluetooth -lvrpn -lquat -Lsrc/vrpn/build -Lsrc/vrpn/build/quat
# Default target
all: logs $(EXE)
vrpn: vrpn/build
# Main target
$(EXE): $(OBJECTS)
$(GXX) $(CXXFLAGS) $^ -o $@ $(INCLUDES) $(LIBS)
$(COBJECTS) : %.o : %.c
$(GCC) $(CFLAGS) -c $< -o $@ $(INCLUDES) $(LIBS)
$(CPPOBJECTS) : %.o : %.cpp
$(GXX) $(CXXFLAGS) -c $< -o $@ $(INCLUDES) $(LIBS)
vrpn/build:
mkdir -p src/vrpn/build
cd src/vrpn/build && cmake .. && make
logs:
mkdir -p logs
clean_logs:
rm -f logs/*
clean:
rm -f $(EXE) $(OBJECTS)
debug:
@echo $(COBJECTS)
@echo $(CPPOBJECTS)