2019-03-26 09:57:01 +01:00
|
|
|
# Name: Makefile
|
|
|
|
# Project: B15F (board15 Famulus Edition)
|
|
|
|
# Author: Tristan Krause
|
|
|
|
# Creation Date: 2019-03-22
|
|
|
|
|
2019-04-03 15:20:49 +02:00
|
|
|
# Environment
|
2019-03-26 09:57:01 +01:00
|
|
|
COMPILER_PATH = g++
|
|
|
|
|
2019-04-03 15:20:49 +02:00
|
|
|
# Options
|
2019-05-15 11:06:52 +02:00
|
|
|
LIB_DRV = ../lib/libb15fdrv.so
|
2019-05-15 15:39:16 +02:00
|
|
|
LIB_PATH = /usr/lib/
|
|
|
|
INCLUDE_PATH = /usr/include/b15f
|
2019-04-03 15:20:49 +02:00
|
|
|
OBJ_MAIN = main.o
|
2019-05-15 11:28:09 +02:00
|
|
|
OUT_CLI = ../bin/cli.elf
|
2019-04-03 15:20:49 +02:00
|
|
|
OBJ_CLI = cli.o
|
2019-05-15 11:06:52 +02:00
|
|
|
CFLAGS = -std=c++17 -O3 -Wall -Wextra -fPIC
|
2019-05-15 15:39:16 +02:00
|
|
|
LDFLAGS_DRV = -lcurses -lpthread
|
|
|
|
LDFLAGS = $(LDFLAGS_DRV) -lb15fdrv
|
2019-04-04 13:19:11 +02:00
|
|
|
OBJECTS_DRV = drv/usart.o drv/b15f.o drv/plottyfile.o drv/dot.o
|
2019-05-09 13:57:57 +02:00
|
|
|
OBJECTS_UI = ui/view.o ui/view_selection.o ui/view_promt.o ui/view_info.o ui/view_monitor.o ui/ui.o
|
2019-03-26 09:57:01 +01:00
|
|
|
|
|
|
|
COMPILE = $(COMPILER_PATH) $(CFLAGS)
|
|
|
|
|
2019-05-15 10:51:39 +02:00
|
|
|
all: drv cli
|
|
|
|
|
2019-05-15 13:36:40 +02:00
|
|
|
drv: $(OBJECTS_DRV) $(LIB_DRV)
|
|
|
|
|
2019-04-03 15:20:49 +02:00
|
|
|
|
2019-05-15 11:06:52 +02:00
|
|
|
cli: drv $(OBJECTS_UI) $(OBJ_CLI)
|
|
|
|
@echo "Linking cli..."
|
2019-05-15 11:28:09 +02:00
|
|
|
mkdir -p ../bin
|
2019-05-15 15:39:16 +02:00
|
|
|
$(COMPILE) $(OBJ_CLI) $(OBJECTS_UI) -L../lib -Wl,-rpath=../lib -o $(OUT_CLI) $(LDFLAGS)
|
2019-03-26 09:57:01 +01:00
|
|
|
|
2019-05-15 15:39:16 +02:00
|
|
|
install: drv
|
|
|
|
cp $(LIB_DRV) $(LIB_PATH)
|
|
|
|
mkdir -p $(INCLUDE_PATH)
|
|
|
|
cp drv/*.h $(INCLUDE_PATH)
|
|
|
|
|
2019-03-26 09:57:01 +01:00
|
|
|
help:
|
2019-05-15 11:06:52 +02:00
|
|
|
@echo "This Makefile compiles the b15f driver lib and command line interface (CLI):"
|
2019-05-15 10:51:39 +02:00
|
|
|
@echo "make ......... to compile all"
|
2019-05-15 11:06:52 +02:00
|
|
|
@echo "make drv ..... to compile the b15f driver lib"
|
2019-05-15 15:39:16 +02:00
|
|
|
@echo "make cli ..... to compile the cli"
|
|
|
|
@echo "make install . to install the lib and headers on this machine"
|
2019-04-03 15:20:49 +02:00
|
|
|
@echo "make clean ... to delete objects and executables"
|
2019-03-26 09:57:01 +01:00
|
|
|
|
|
|
|
clean:
|
|
|
|
@echo "Cleaning..."
|
2019-05-15 11:06:52 +02:00
|
|
|
rm -f $(OBJECTS_DRV) $(OBJECTS_UI) $(OBJ_CLI) $(OUT_CLI) $(OBJ_MAIN) $(LIB_DRV)
|
2019-03-26 09:57:01 +01:00
|
|
|
|
|
|
|
.cpp.o:
|
|
|
|
$(COMPILE) -c $< -o $@
|
2019-05-15 13:36:40 +02:00
|
|
|
|
|
|
|
$(LIB_DRV):
|
|
|
|
@echo "Linking driver library..."
|
|
|
|
mkdir -p ../lib
|
2019-05-15 15:39:16 +02:00
|
|
|
$(COMPILE) $(OBJECTS_DRV) -shared -o $(LIB_DRV) $(LDFLAGS_DRV)
|