| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- # 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 -Wno-maybe-uninitialized
- 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
- .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: doc doc_clean doc_install
- doc:
- $(MAKE) -C $(DOCSRC)
- doc_clean:
- $(MAKE) -C $(DOCSRC) clean
- doc_install:
- $(MAKE) -C $(DOCSRC) install
- # This section is neesary for the tarball, when the tarball
- # support is removed, we can delete these entries.
- 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
|