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
+26 -24
View File
@@ -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