| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- # SPDX-License-Identifier: GPL-2.0-only
- define allow-override
- $(if $(or $(findstring environment,$(origin $(1))),\
- $(findstring command line,$(origin $(1)))),,\
- $(eval $(1) = $(2)))
- endef
- # Allow setting CC and AR, or setting CROSS_COMPILE as a prefix.
- $(call allow-override,CC,$(CROSS_COMPILE)gcc)
- $(call allow-override,AR,$(CROSS_COMPILE)ar)
- $(call allow-override,STRIP,$(CROSS_COMPILE)strip)
- $(call allow-override,PKG_CONFIG,pkg-config)
- $(call allow-override,LD_SO_CONF_PATH,/etc/ld.so.conf.d/)
- $(call allow-override,LDCONFIG,ldconfig)
- export CC AR STRIP PKG_CONFIG LD_SO_CONF_PATH LDCONFIG
- FOPTS := -flto=auto -ffat-lto-objects -fexceptions -fstack-protector-strong \
- -fasynchronous-unwind-tables -fstack-clash-protection
- WOPTS := -O -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 \
- -Wp,-D_GLIBCXX_ASSERTIONS
- ifeq ($(CC),clang)
- FOPTS := $(filter-out -flto=auto -ffat-lto-objects, $(FOPTS))
- WOPTS := $(filter-out -Wno-maybe-uninitialized, $(WOPTS))
- endif
- CFLAGS := -g -DVERSION=\"$(VERSION)\" $(FOPTS) $(WOPTS) $(CFLAGS)
- LDFLAGS := -ggdb $(LDFLAGS)
- RM := rm -rf
- LN := ln -s
- INSTALL := install
- MKDIR := mkdir
- STRIP := strip
- BINDIR := /usr/bin
- CTAGS := ctags
- ETAGS := ctags -e
- .PHONY: install
- install: doc_install
- @$(MKDIR) -p $(DESTDIR)$(BINDIR)
- $(call QUIET_INSTALL,rtla)$(INSTALL) $(RTLA) -m 755 $(DESTDIR)$(BINDIR)
- @$(STRIP) $(DESTDIR)$(BINDIR)/rtla
- @test ! -f $(DESTDIR)$(BINDIR)/osnoise || $(RM) $(DESTDIR)$(BINDIR)/osnoise
- @$(LN) rtla $(DESTDIR)$(BINDIR)/osnoise
- @test ! -f $(DESTDIR)$(BINDIR)/hwnoise || $(RM) $(DESTDIR)$(BINDIR)/hwnoise
- @$(LN) -s rtla $(DESTDIR)$(BINDIR)/hwnoise
- @test ! -f $(DESTDIR)$(BINDIR)/timerlat || $(RM) $(DESTDIR)$(BINDIR)/timerlat
- @$(LN) -s rtla $(DESTDIR)$(BINDIR)/timerlat
- .PHONY: tags
- tags:
- $(CTAGS) -R --extras=+f --c-kinds=+p src
- .PHONY: TAGS
- TAGS:
- $(ETAGS) -R --extras=+f --c-kinds=+p src
- .PHONY: tags_clean
- tags_clean:
- $(RM) tags TAGS
- .PHONY: doc doc_clean doc_install
- doc:
- $(MAKE) -C $(DOCSRC)
- doc_clean:
- $(MAKE) -C $(DOCSRC) clean
- doc_install:
- $(MAKE) -C $(DOCSRC) install
- # This section is necessary to make the rtla tarball
- NAME := rtla
- DIRS := src
- FILES := Makefile README.txt
- CEXT := bz2
- TARBALL := $(NAME)-$(VERSION).tar.$(CEXT)
- TAROPTS := -cvjf $(TARBALL)
- SRCTREE := $(or $(BUILD_SRC),$(CURDIR))
- tarball: clean
- $(RM) $(NAME)-$(VERSION) && $(MKDIR) $(NAME)-$(VERSION)
- echo $(VERSION) > $(NAME)-$(VERSION)/VERSION
- cp -r $(DIRS) $(FILES) $(NAME)-$(VERSION)
- $(MKDIR) $(NAME)-$(VERSION)/Documentation/
- cp -rp $(SRCTREE)/../../../Documentation/tools/$(NAME)/* $(NAME)-$(VERSION)/Documentation/
- cp Makefile.standalone $(NAME)-$(VERSION)/Makefile
- cp Makefile.$(NAME) $(NAME)-$(VERSION)/
- tar $(TAROPTS) --exclude='*~' $(NAME)-$(VERSION)
- $(RM) $(NAME)-$(VERSION)
- .PHONY: tarball
|