Skip to content
Snippets Groups Projects
Commit 5b02761f authored by burneykb's avatar burneykb
Browse files

Fixed makefile to conform to new oganization and use obj dir correctly

parent 6feb8355
No related branches found
No related tags found
No related merge requests found
# Declaration of variables
# Generic 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 -Wpedantic -Wextra -Werror -Wno-reorder -Wno-unused-variable -std=c++0x -g
INCLUDES = $(foreach dir, $(INCDIR), -I$(dir))
# Directories
SRCDIR=src
INCDIR=inc src src/vrpn src/vrpn/quat src/vrpn/build
INCDIR=inc src/vrpn src/vrpn/quat src/vrpn/build $(BESRCDIR) $(CLISRCDIR)
LIBS= -lpthread -lbluetooth -lvrpn -lquat -Lsrc/vrpn/build -Lsrc/vrpn/build/quat
OBJDIR=obj
# Final exacutable name
EXE=BackEnd
# Backend Specific Variables
BEBINARY=BackEnd
BESRCDIR=src/backend
BECSOURCES := $(wildcard $(BESRCDIR)/*.c )
BECOBJECTS = $(BECSOURCES:$(BESRCDIR)/%.c=$(OBJDIR)/%.o)
BECPPSOURCES := $(wildcard $(BESRCDIR)/*.cpp )
BECPPOBJECTS = $(BECPPSOURCES:$(BESRCDIR)/%.cpp=$(OBJDIR)/%.o)
# 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)
# CLI Specific Variables
CLISRCDIR=src/cli
CLISOURCES := $(wildcard $(CLISRCDIR)/*.c )
CLIOBJECTS = $(CLISOURCES:$(CLISRCDIR)/%.c=$(OBJDIR)/%.o)
CLIBINARIES = $(notdir $(patsubst %.c,%,$(CLISOURCES)))
LIBS= -lpthread -lbluetooth -lvrpn -lquat -Lsrc/vrpn/build -Lsrc/vrpn/build/quat
OBJECTS= $(CLIOBJECTS) $(BECOBJECTS) $(BECPPOBJECTS)
# Default target
all: logs $(EXE)
all: logs objdir backend cli
vrpn: vrpn/build
# Main target
$(EXE): $(OBJECTS)
$(GXX) $(CXXFLAGS) $^ -o $@ $(INCLUDES) $(LIBS)
cli: $(CLIOBJECTS) $(CLIBINARIES)
$(COBJECTS) : %.o : %.c
$(GCC) $(CFLAGS) -c $< -o $@ $(INCLUDES) $(LIBS)
$(CLIOBJECTS) : $(OBJDIR)/%.o : $(CLISRCDIR)/%.c
$(GCC) $(CFLAGS) -c $^ -o $@ $(INCLUDES) $(LIBS)
$(CPPOBJECTS) : %.o : %.cpp
$(GXX) $(CXXFLAGS) -c $< -o $@ $(INCLUDES) $(LIBS)
$(CLIBINARIES): % : $(OBJDIR)/%.o
$(GCC) $(CFLAGS) $^ -o $@ $(INCLUDES) $(LIBS)
backend: $(BECPPOBJECTS) $(BECOBJECTS)
$(GXX) $(CXXFLAGS) $^ -o $(BEBINARY) $(INCLUDES) $(LIBS)
$(BECOBJECTS) : $(OBJDIR)/%.o : $(BESRCDIR)/%.c
$(GCC) $(CFLAGS) -c $^ -o $@ $(INCLUDES) $(LIBS)
$(BECPPOBJECTS) : $(OBJDIR)/%.o : $(BESRCDIR)/%.cpp
$(GXX) $(CXXFLAGS) -c $^ -o $@ $(INCLUDES) $(LIBS)
vrpn/build:
mkdir -p src/vrpn/build
......@@ -44,12 +56,14 @@ vrpn/build:
logs:
mkdir -p logs
objdir:
mkdir -p obj
clean_logs:
rm -f logs/*
clean:
rm -f $(EXE) $(OBJECTS)
rm -rf $(OBJDIR)/ $(BEBINARY) $(CLIBINARIES)
debug:
@echo $(COBJECTS)
@echo $(CPPOBJECTS)
@echo $(CLIBINARIES)
\ No newline at end of file
......@@ -334,7 +334,7 @@ void sendStartPacket() {
}
void sendVrpnPacket(struct ucart_vrpn_TrackerData *info) {
int pSize = sizeof(ucart_vrpn_TrackerData) + 8;
int pSize = sizeof(struct ucart_vrpn_TrackerData) + 8;
int n;
unsigned char packet[pSize];
currMessageID++;
......@@ -344,9 +344,9 @@ void sendVrpnPacket(struct ucart_vrpn_TrackerData *info) {
//TODO Figure out Packet ID with this new ucar_vrpn_TrackerData struct
packet[3] = (currMessageID & 0x000000ff); // MSG ID(1)
packet[4] = ((currMessageID >> 8) & 0x000000ff); // MSG ID(2)
packet[5] = (sizeof(ucart_vrpn_TrackerData) & 0x000000ff); // DATALEN(1)
packet[6] = ((sizeof(ucart_vrpn_TrackerData) >> 8) & 0x00000ff); // DATALEN(2)
memcpy(&packet[7], &info, sizeof(ucart_vrpn_TrackerData));
packet[5] = (sizeof(struct ucart_vrpn_TrackerData) & 0x000000ff); // DATALEN(1)
packet[6] = ((sizeof(struct ucart_vrpn_TrackerData) >> 8) & 0x00000ff); // DATALEN(2)
memcpy(&packet[7], &info, sizeof(struct ucart_vrpn_TrackerData));
char checksum = 0;
int i;
......
int main(int argc, char **argv)
{
return 0;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment