makefile cleaned up
This commit is contained in:
parent
281a00ddc0
commit
239493e183
|
@ -4,39 +4,52 @@
|
||||||
# Creation Date: 2019-03-22
|
# Creation Date: 2019-03-22
|
||||||
|
|
||||||
# Environment
|
# Environment
|
||||||
COMPILER_PATH = g++
|
PATH_COMPILER = g++
|
||||||
|
|
||||||
# Options
|
# install paths
|
||||||
LIB_DRV = ../lib/libb15fdrv.so
|
PATH_BIN = /usr/bin/
|
||||||
LIB_PATH = /usr/lib/
|
PATH_LIB = /usr/lib/
|
||||||
INCLUDE_PATH = /usr/include/b15f/
|
PATH_INCLUDE = /usr/include/b15f/
|
||||||
BIN_PATH = /usr/bin/
|
|
||||||
OBJ_MAIN = main.o
|
# tmp paths
|
||||||
OUT_CLI = ../bin/cli.elf
|
PATH_TMP_BIN = ../bin/
|
||||||
OBJ_CLI = cli.o
|
PATH_TMP_LIB = ../lib/
|
||||||
|
|
||||||
|
# outputs
|
||||||
|
OUT_TMP_DRV = $(PATH_TMP_LIB)/libb15fdrv.so
|
||||||
|
OUT_TMP_CLI = $(PATH_TMP_BIN)/cli.elf
|
||||||
|
OUT_DRV = $(PATH_LIB)/libb15fdrv.so
|
||||||
|
|
||||||
|
# compiling & linking parameters
|
||||||
CFLAGS = -std=c++17 -O3 -Wall -Wextra -fPIC
|
CFLAGS = -std=c++17 -O3 -Wall -Wextra -fPIC
|
||||||
LDFLAGS_DRV = -lcurses -lpthread
|
LDFLAGS_DRV = -lcurses -lpthread
|
||||||
LDFLAGS = $(LDFLAGS_DRV) -lb15fdrv
|
LDFLAGS_CLI = $(LDFLAGS_DRV) -lb15fdrv
|
||||||
OBJECTS_DRV = drv/usart.o drv/b15f.o drv/plottyfile.o drv/dot.o
|
|
||||||
OBJECTS_UI = ui/view.o ui/view_selection.o ui/view_promt.o ui/view_info.o ui/view_monitor.o ui/ui.o
|
|
||||||
|
|
||||||
COMPILE = $(COMPILER_PATH) $(CFLAGS)
|
# objects
|
||||||
|
OBJECTS_DRV = drv/usart.o drv/b15f.o drv/plottyfile.o drv/dot.o
|
||||||
|
OBJECTS_CLI = cli.o ui/view.o ui/view_selection.o ui/view_promt.o ui/view_info.o ui/view_monitor.o ui/ui.o
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# *** TARGETS ***
|
||||||
|
|
||||||
all: drv cli
|
all: drv cli
|
||||||
|
|
||||||
drv: $(OBJECTS_DRV) $(LIB_DRV)
|
drv: $(OBJECTS_DRV) $(OUT_TMP_DRV)
|
||||||
|
|
||||||
|
|
||||||
cli: drv $(OBJECTS_UI) $(OBJ_CLI)
|
cli: drv $(OBJECTS_CLI)
|
||||||
@echo "Linking cli..."
|
@echo "Linking cli..."
|
||||||
mkdir -p ../bin
|
@mkdir -p ../bin
|
||||||
$(COMPILE) $(OBJ_CLI) $(OBJECTS_UI) -L../lib -Wl,-rpath=../lib -o $(OUT_CLI) $(LDFLAGS)
|
$(PATH_COMPILER) $(CFLAGS) $(OBJECTS_CLI) -L $(PATH_TMP_LIB) -o $(OUT_TMP_CLI) $(LDFLAGS_CLI)
|
||||||
|
@bash -c 'if [ ! -f "$(OUT_DRV)" ]; then echo -e "\n*** Warning ***: driver not installed\nType \"sudo make install\" to install or update b15fdrv."; fi'
|
||||||
|
|
||||||
install: drv
|
install: drv
|
||||||
cp $(LIB_DRV) $(LIB_PATH)
|
@echo "Installing driver..."
|
||||||
mkdir -p $(INCLUDE_PATH)
|
@mkdir -p $(PATH_INCLUDE)
|
||||||
cp drv/*.h $(INCLUDE_PATH)
|
cp plotty $(PATH_BIN)
|
||||||
cp plotty $(BIN_PATH)
|
cp $(OUT_TMP_DRV) $(PATH_LIB)
|
||||||
|
cp drv/*.h $(PATH_INCLUDE)
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo "This Makefile compiles the b15f driver lib and command line interface (CLI):"
|
@echo "This Makefile compiles the b15f driver lib and command line interface (CLI):"
|
||||||
|
@ -48,12 +61,12 @@ help:
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@echo "Cleaning..."
|
@echo "Cleaning..."
|
||||||
rm -f $(OBJECTS_DRV) $(OBJECTS_UI) $(OBJ_CLI) $(OUT_CLI) $(OBJ_MAIN) $(LIB_DRV)
|
rm -f $(OBJECTS_DRV) $(OBJECTS_CLI) $(OUT_TMP_CLI) $(OUT_TMP_DRV)
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
$(COMPILE) -c $< -o $@
|
$(PATH_COMPILER) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
$(LIB_DRV):
|
$(OUT_TMP_DRV):
|
||||||
@echo "Linking driver library..."
|
@echo "Linking driver library..."
|
||||||
mkdir -p ../lib
|
@mkdir -p ../lib
|
||||||
$(COMPILE) $(OBJECTS_DRV) -shared -o $(LIB_DRV) $(LDFLAGS_DRV)
|
$(PATH_COMPILER) $(CFLAGS) $(OBJECTS_DRV) -shared -o $(OUT_TMP_DRV) $(LDFLAGS_CLI_DRV)
|
||||||
|
|
Loading…
Reference in a new issue