Update Makefile Configuration - Add ARMv8 support

This commit is contained in:
2019-01-29 15:28:38 +01:00
parent 4c66aa0831
commit f6d5b9e787
5 changed files with 59 additions and 30 deletions
+16 -14
View File
@@ -13,44 +13,47 @@ SUBDIRS := $(filter-out $(FILTER),$(SUBDIRS))
SUBDIRARS = $(foreach dir,$(SUBDIRS),$(dir)/$(dir).a) SUBDIRARS = $(foreach dir,$(SUBDIRS),$(dir)/$(dir).a)
LOCALSOURCES = $(wildcard *.cpp *.cc) LOCALSOURCES = $(wildcard *.cpp *.cc)
SOURCES = $(wildcard *.cpp */*.cpp */*/*.cpp */*/*/*.cpp) LOCALOBJECTS := $(LOCALSOURCES:.cpp=.o)
LOCALOBJECT_ = $(LOCALSOURCES:.cpp=.o) LOCALOBJECTS := $(LOCALOBJECTS:.cc=.o)
LOCALOBJECTS = $(LOCALOBJECT_:.cc=.o)
OBJECTS = $(SOURCES:.cpp=.o)
LOCALDEPENDS = $(LOCALOBJECTS:.o=.d) LOCALDEPENDS = $(LOCALOBJECTS:.o=.d)
SOURCES = $(wildcard *.cpp */*.cpp */*/*.cpp */*/*/*.cpp)
OBJECTS = $(SOURCES:.cpp=.o)
DEPENDS = $(OBJECTS:.o=.d) DEPENDS = $(OBJECTS:.o=.d)
TARGETS = TARGETS =
-include Makefile.target $(LOCALOBJECTS): | $(SUBDIRS)
$(OBJECTS): | $(SUBDIRS)
artifacts: $(SUBDIRS) $(LOCALOBJECTS) artifacts: $(LOCALOBJECTS)
.DEFAULT_GOAL := artifacts
-include Makefile.target
ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),clean)
-include $(LOCALDEPENDS) -include $(LOCALDEPENDS)
endif endif
%.d: %.cpp %.d: %.cpp
@echo [MM] $@ $(info [MM] $@)
@$(CC) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ @$(CC) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
%.o: %.cpp %.o: %.cpp
@echo [CC] $@ $(info [CC] $@)
@nice -n 19 $(CC) -c $(CFLAGS) $< -o $@ @nice -n 19 $(CC) -c $(CFLAGS) $< -o $@
%.d: %.cc %.d: %.cc
@echo [MM] $@ $(info [MM] $@)
@$(CC) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@ @$(CC) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
%.o: %.cc %.o: %.cc
@echo [CC] $@ $(info [CC] $@)
@nice -n 19 $(CC) -c $(CFLAGS) $< -o $@ @nice -n 19 $(CC) -c $(CFLAGS) $< -o $@
$(ARNAME): $(SUBDIRS) $(LOCALOBJECTS) $(ARNAME): $(SUBDIRS) $(LOCALOBJECTS)
@echo [AR] $@ $(info [AR] $@)
@nice -n 19 $(AR) rcuT $@ $(LOCALOBJECTS) $(SUBDIRARS) @nice -n 19 $(AR) rcuT $@ $(LOCALOBJECTS) $(SUBDIRARS)
$(OBJECTS): | $(SUBDIRS)
.PHONY: $(SUBDIRS) .PHONY: $(SUBDIRS)
$(SUBDIRS): $(SUBDIRS):
@$(MAKE) -S -C $@ artifacts @$(MAKE) -S -C $@ artifacts
@@ -64,4 +67,3 @@ clean:
$(MAKE) -S -C $$dir $@; \ $(MAKE) -S -C $$dir $@; \
done done
@rm -f $(LOCALOBJECTS) $(LOCALDEPENDS) $(ARNAME) $(TARGETS) || true @rm -f $(LOCALOBJECTS) $(LOCALDEPENDS) $(ARNAME) $(TARGETS) || true
+1 -1
View File
@@ -1 +1 @@
Makefile.conf.local Makefile.conf.armv8
+5 -4
View File
@@ -3,19 +3,20 @@
# #
CFLAGS := -g3 -O3 -fPIC -marm -march=armv6 -std=c++11 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 # 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 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++ 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 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 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 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 CFLAGS += -ffunction-sections -fdata-sections
LFLAGS += -Wl,--gc-sections LFLAGS += -Wl,--gc-sections
+26
View File
@@ -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'`
+1 -1
View File
@@ -2,7 +2,7 @@
# Makefile.conf.local # 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 += -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 # 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 LFLAGS := -lpthread -lm -lboost_system -lboost_thread -lboost_program_options -lboost_date_time -lssl -lcrypto -lcurl -lz -ldl -lbluetooth