@@ -30,8 +30,8 @@ WOPTS := -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_A
30
30
31
31
TRACEFS_HEADERS := $$($(PKG_CONFIG ) --cflags libtracefs)
32
32
33
- CFLAGS := -O -g -DVERSION=\"$(VERSION ) \" $(FOPTS ) $(MOPTS ) $(WOPTS ) $(TRACEFS_HEADERS )
34
- LDFLAGS := -ggdb
33
+ CFLAGS := -O -g -DVERSION=\"$(VERSION ) \" $(FOPTS ) $(MOPTS ) $(WOPTS ) $(TRACEFS_HEADERS ) $( EXTRA_CFLAGS )
34
+ LDFLAGS := -ggdb $( EXTRA_LDFLAGS )
35
35
LIBS := $$($(PKG_CONFIG ) --libs libtracefs)
36
36
37
37
SRC := $(wildcard src/* .c)
@@ -61,40 +61,50 @@ endif
61
61
LIBTRACEEVENT_MIN_VERSION = 1.5
62
62
LIBTRACEFS_MIN_VERSION = 1.3
63
63
64
+ .PHONY : all warnings show_warnings
65
+ all : warnings rtla
66
+
64
67
TEST_LIBTRACEEVENT = $(shell sh -c "$(PKG_CONFIG ) --atleast-version $(LIBTRACEEVENT_MIN_VERSION ) libtraceevent > /dev/null 2>&1 || echo n")
65
68
ifeq ("$(TEST_LIBTRACEEVENT ) ", "n")
66
- .PHONY : warning_traceevent
67
- warning_traceevent :
68
- @echo " ********************************************"
69
- @echo " ** NOTICE: libtraceevent version $( LIBTRACEEVENT_MIN_VERSION) or higher not found"
70
- @echo " **"
71
- @echo " ** Consider installing the latest libtraceevent from your"
72
- @echo " ** distribution, e.g., 'dnf install libtraceevent' on Fedora,"
73
- @echo " ** or from source:"
74
- @echo " **"
75
- @echo " ** https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ "
76
- @echo " **"
77
- @echo " ********************************************"
69
+ WARNINGS = show_warnings
70
+ MISSING_LIBS += echo "** libtraceevent version $(LIBTRACEEVENT_MIN_VERSION ) or higher";
71
+ MISSING_PACKAGES += "libtraceevent-devel"
72
+ MISSING_SOURCE += echo "** https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ ";
78
73
endif
79
74
80
75
TEST_LIBTRACEFS = $(shell sh -c "$(PKG_CONFIG ) --atleast-version $(LIBTRACEFS_MIN_VERSION ) libtracefs > /dev/null 2>&1 || echo n")
81
76
ifeq ("$(TEST_LIBTRACEFS ) ", "n")
82
- .PHONY : warning_tracefs
83
- warning_tracefs :
84
- @echo " ********************************************"
85
- @echo " ** NOTICE: libtracefs version $( LIBTRACEFS_MIN_VERSION) or higher not found"
86
- @echo " **"
87
- @echo " ** Consider installing the latest libtracefs from your"
88
- @echo " ** distribution, e.g., 'dnf install libtracefs' on Fedora,"
89
- @echo " ** or from source:"
90
- @echo " **"
91
- @echo " ** https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/ "
92
- @echo " **"
93
- @echo " ********************************************"
77
+ WARNINGS = show_warnings
78
+ MISSING_LIBS += echo "** libtracefs version $(LIBTRACEFS_MIN_VERSION ) or higher";
79
+ MISSING_PACKAGES += "libtracefs-devel"
80
+ MISSING_SOURCE += echo "** https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/ ";
94
81
endif
95
82
96
- .PHONY : all
97
- all : rtla
83
+ define show_dependencies
84
+ @echo "********************************************"; \
85
+ echo "** NOTICE: Failed build dependencies"; \
86
+ echo "**"; \
87
+ echo "** Required Libraries:"; \
88
+ $(MISSING_LIBS ) \
89
+ echo "**"; \
90
+ echo "** Consider installing the latest libtracefs from your"; \
91
+ echo "** distribution, e.g., 'dnf install $(MISSING_PACKAGES ) ' on Fedora,"; \
92
+ echo "** or from source:"; \
93
+ echo "**"; \
94
+ $(MISSING_SOURCE ) \
95
+ echo "**"; \
96
+ echo "********************************************"
97
+ endef
98
+
99
+ show_warnings :
100
+ $(call show_dependencies) ;
101
+
102
+ ifneq ("$(WARNINGS ) ", "")
103
+ ERROR_OUT = $(error Please add the necessary dependencies)
104
+
105
+ warnings : $(WARNINGS )
106
+ $(ERROR_OUT )
107
+ endif
98
108
99
109
rtla : $(OBJ )
100
110
$(CC ) -o rtla $(LDFLAGS ) $(OBJ ) $(LIBS )
@@ -108,9 +118,9 @@ install: doc_install
108
118
$(INSTALL ) rtla -m 755 $(DESTDIR )$(BINDIR )
109
119
$(STRIP ) $(DESTDIR )$(BINDIR ) /rtla
110
120
@test ! -f $(DESTDIR )$(BINDIR ) /osnoise || rm $(DESTDIR )$(BINDIR ) /osnoise
111
- ln -s $( DESTDIR )$( BINDIR ) / rtla $(DESTDIR )$(BINDIR ) /osnoise
121
+ ln -s rtla $(DESTDIR )$(BINDIR ) /osnoise
112
122
@test ! -f $(DESTDIR )$(BINDIR ) /timerlat || rm $(DESTDIR )$(BINDIR ) /timerlat
113
- ln -s $( DESTDIR )$( BINDIR ) / rtla $(DESTDIR )$(BINDIR ) /timerlat
123
+ ln -s rtla $(DESTDIR )$(BINDIR ) /timerlat
114
124
115
125
.PHONY : clean tarball
116
126
clean : doc_clean
0 commit comments