Update Makefile Configuration - Add ARMv8 support
This commit is contained in:
@@ -4,53 +4,56 @@
|
||||
|
||||
include Makefile.conf
|
||||
|
||||
ARNAME = $(notdir $(CURDIR)).a
|
||||
ARNAME = $(notdir $(CURDIR)).a
|
||||
|
||||
SUBDIRS := $(wildcard */.)
|
||||
SUBDIRS := $(foreach dir,$(SUBDIRS),$(subst /.,,$(dir)))
|
||||
FILTER = doc%
|
||||
SUBDIRS := $(filter-out $(FILTER),$(SUBDIRS))
|
||||
SUBDIRARS = $(foreach dir,$(SUBDIRS),$(dir)/$(dir).a)
|
||||
SUBDIRS := $(wildcard */.)
|
||||
SUBDIRS := $(foreach dir,$(SUBDIRS),$(subst /.,,$(dir)))
|
||||
FILTER = doc%
|
||||
SUBDIRS := $(filter-out $(FILTER),$(SUBDIRS))
|
||||
SUBDIRARS = $(foreach dir,$(SUBDIRS),$(dir)/$(dir).a)
|
||||
|
||||
LOCALSOURCES = $(wildcard *.cpp *.cc)
|
||||
SOURCES = $(wildcard *.cpp */*.cpp */*/*.cpp */*/*/*.cpp)
|
||||
LOCALOBJECT_ = $(LOCALSOURCES:.cpp=.o)
|
||||
LOCALOBJECTS = $(LOCALOBJECT_:.cc=.o)
|
||||
OBJECTS = $(SOURCES:.cpp=.o)
|
||||
LOCALDEPENDS = $(LOCALOBJECTS:.o=.d)
|
||||
DEPENDS = $(OBJECTS:.o=.d)
|
||||
TARGETS =
|
||||
LOCALSOURCES = $(wildcard *.cpp *.cc)
|
||||
LOCALOBJECTS := $(LOCALSOURCES:.cpp=.o)
|
||||
LOCALOBJECTS := $(LOCALOBJECTS:.cc=.o)
|
||||
LOCALDEPENDS = $(LOCALOBJECTS:.o=.d)
|
||||
SOURCES = $(wildcard *.cpp */*.cpp */*/*.cpp */*/*/*.cpp)
|
||||
OBJECTS = $(SOURCES:.cpp=.o)
|
||||
DEPENDS = $(OBJECTS:.o=.d)
|
||||
TARGETS =
|
||||
|
||||
$(LOCALOBJECTS): | $(SUBDIRS)
|
||||
$(OBJECTS): | $(SUBDIRS)
|
||||
|
||||
artifacts: $(LOCALOBJECTS)
|
||||
|
||||
.DEFAULT_GOAL := artifacts
|
||||
|
||||
-include Makefile.target
|
||||
|
||||
artifacts: $(SUBDIRS) $(LOCALOBJECTS)
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
-include $(LOCALDEPENDS)
|
||||
endif
|
||||
|
||||
%.d: %.cpp
|
||||
@echo [MM] $@
|
||||
$(info [MM] $@)
|
||||
@$(CC) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
|
||||
|
||||
%.o: %.cpp
|
||||
@echo [CC] $@
|
||||
$(info [CC] $@)
|
||||
@nice -n 19 $(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
%.d: %.cc
|
||||
@echo [MM] $@
|
||||
$(info [MM] $@)
|
||||
@$(CC) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
|
||||
|
||||
%.o: %.cc
|
||||
@echo [CC] $@
|
||||
$(info [CC] $@)
|
||||
@nice -n 19 $(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
$(ARNAME): $(SUBDIRS) $(LOCALOBJECTS)
|
||||
@echo [AR] $@
|
||||
$(info [AR] $@)
|
||||
@nice -n 19 $(AR) rcuT $@ $(LOCALOBJECTS) $(SUBDIRARS)
|
||||
|
||||
$(OBJECTS): | $(SUBDIRS)
|
||||
|
||||
.PHONY: $(SUBDIRS)
|
||||
$(SUBDIRS):
|
||||
@$(MAKE) -S -C $@ artifacts
|
||||
@@ -64,4 +67,3 @@ clean:
|
||||
$(MAKE) -S -C $$dir $@; \
|
||||
done
|
||||
@rm -f $(LOCALOBJECTS) $(LOCALDEPENDS) $(ARNAME) $(TARGETS) || true
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
Makefile.conf.local
|
||||
Makefile.conf.armv8
|
||||
@@ -3,19 +3,20 @@
|
||||
#
|
||||
|
||||
CFLAGS := -g3 -O3 -fPIC -marm -march=armv6 -std=c++11
|
||||
CFLAGS += -Wall -Wextra -Wstrict-aliasing -pedantic -fmax-errors=5 -Werror -Wunreachable-code -Wcast-qual -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wnoexcept -Woverloaded-virtual -Wsign-promo -Wstrict-null-sentinel -Wswitch-default -Wno-unused -Wno-variadic-macros -Wno-parentheses -fdiagnostics-show-option
|
||||
CFLAGS += -Wall -Wextra -Wstrict-aliasing -fmax-errors=5 -Werror -Wunreachable-code -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wnoexcept -Woverloaded-virtual -Wsign-promo -Wstrict-null-sentinel -Wswitch-default -Wno-unused -Wno-variadic-macros -Wno-parentheses -Wno-unused-parameter -fdiagnostics-show-option
|
||||
# CFLAGS += -Wold-style-cast -Wundef -Wshadow -Wctor-dtor-privacy -Wredundant-decls -Wstrict-overflow=5 -Wcast-align
|
||||
LFLAGS := -lpthread -lm -lboost_system -lboost_thread -lboost_program_options -lboost_date_time -lssl -lcrypto -lcurl -lmysqlcppconn -lmysqlclient -lz -ldl
|
||||
LFLAGS := -lpthread -lm -lboost_system -lboost_thread -lboost_program_options -lboost_date_time -lssl -lcrypto -lcurl -lz -ldl -lbluetooth
|
||||
|
||||
AR := /opt/build/rpi-armv6/tools/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar
|
||||
CC := /opt/build/rpi-armv6/tools/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
|
||||
STRIP := /opt/build/rpi-armv6/tools/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip
|
||||
OBJCOPY := /opt/build/rpi-armv6/tools/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objcopy
|
||||
|
||||
CFLAGS += -I/opt/build/rpi-armv6/include -I/opt/build/rpi-armv6/include/mysql
|
||||
CFLAGS += -I/opt/build/rpi-armv6/include
|
||||
LFLAGS += -L/opt/build/rpi-armv6/lib --sysroot /opt/build/rpi-armv6/tools/arm-bcm2708/arm-linux-gnueabihf/arm-linux-gnueabihf/sysroot -Wl,-rpath,/opt/build/rpi-armv6/lib
|
||||
|
||||
CFLAGS += -I/opt/build/DomoticaServer
|
||||
CFLAGS += -fpermissive
|
||||
CFLAGS += -I/opt/build/PresenceDetection
|
||||
|
||||
CFLAGS += -ffunction-sections -fdata-sections
|
||||
LFLAGS += -Wl,--gc-sections
|
||||
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# Makefile.conf
|
||||
#
|
||||
|
||||
CFLAGS := -g3 -O3 -fPIC -marm -march=armv8-a -std=c++11
|
||||
CFLAGS += -Wall -Wextra -Wstrict-aliasing -fmax-errors=5 -Werror -Wunreachable-code -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wnoexcept -Woverloaded-virtual -Wsign-promo -Wstrict-null-sentinel -Wswitch-default -Wno-unused -Wno-variadic-macros -Wno-parentheses -Wno-unused-parameter -Wno-missing-field-initializers -fdiagnostics-show-option
|
||||
# CFLAGS += -Wold-style-cast -Wundef -Wshadow -Wctor-dtor-privacy -Wredundant-decls -Wstrict-overflow=5 -Wcast-align
|
||||
LFLAGS := -lpthread -lm -lboost_system -lboost_thread -lboost_program_options -lboost_date_time -lssl -lcrypto -lcurl -lz -ldl -lbluetooth
|
||||
|
||||
AR := /opt/build/rpi-armv8/tools/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar
|
||||
CC := /opt/build/rpi-armv8/tools/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
|
||||
STRIP := /opt/build/rpi-armv8/tools/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip
|
||||
OBJCOPY := /opt/build/rpi-armv8/tools/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objcopy
|
||||
|
||||
CFLAGS += -I/opt/build/rpi-armv8/include
|
||||
LFLAGS += -L/opt/build/rpi-armv8/lib --sysroot /opt/build/rpi-armv8/tools/arm-bcm2708/arm-linux-gnueabihf/arm-linux-gnueabihf/sysroot -Wl,-rpath,/opt/build/rpi-armv8/lib
|
||||
|
||||
CFLAGS += -fpermissive
|
||||
CFLAGS += -I/opt/build/PresenceDetection
|
||||
|
||||
CFLAGS += -ffunction-sections -fdata-sections
|
||||
LFLAGS += -Wl,--gc-sections
|
||||
SFLAGS := -s -R .comment -R .gnu.version --strip-unneeded
|
||||
|
||||
DEBUGDIR := .debug
|
||||
DATETIME := `date +'%y%m%d-%H%M'`
|
||||
@@ -2,7 +2,7 @@
|
||||
# Makefile.conf.local
|
||||
#
|
||||
|
||||
CFLAGS := -g3 -O3 -Wall -fPIC
|
||||
CFLAGS := -g3 -O3 -Wall -fPIC -std=c++11
|
||||
CFLAGS += -Wall -Wextra -Wstrict-aliasing -pedantic -fmax-errors=5 -Werror -Wunreachable-code -Wcast-qual -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wnoexcept -Woverloaded-virtual -Wsign-promo -Wstrict-null-sentinel -Wswitch-default -Wno-unused -Wno-variadic-macros -Wno-parentheses -fdiagnostics-show-option
|
||||
# CFLAGS += -Wold-style-cast -Wundef -Wshadow -Wctor-dtor-privacy -Wredundant-decls -Wstrict-overflow=5 -Wcast-align
|
||||
LFLAGS := -lpthread -lm -lboost_system -lboost_thread -lboost_program_options -lboost_date_time -lssl -lcrypto -lcurl -lz -ldl -lbluetooth
|
||||
Reference in New Issue
Block a user