1
0

rewrite scripts

try to provide better syntax and avoid using bash
This commit is contained in:
2024-10-29 05:12:06 +03:00
parent 1e13062902
commit eb2bdc81cb
24 changed files with 363 additions and 247 deletions

View File

@@ -10,10 +10,10 @@ CXX = $(CROSS_COMPILE)g++
PKG_CONFIG = $(CROSS_COMPILE)pkg-config
CFLAGS := $(shell dpkg-buildflags --get CFLAGS) -Wall
CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS) \
-I$(top_srcdir)/$(OUTDIR) \
-I$(top_srcdir)/debian/build/build-tools/$(OUTDIR) \
-I$(top_srcdir)/scripts/include \
-isystem $(top_srcdir)/debian/build/build-tools/include
-I$(top_srcdir)/$(OUTDIR) \
-I$(top_srcdir)/debian/build/build-tools/$(OUTDIR) \
-I$(top_srcdir)/scripts/include \
-isystem $(top_srcdir)/debian/build/build-tools/include
CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS) -Wall
LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
@@ -24,11 +24,14 @@ clean: clean-recursive
install: install-local install-recursive
%-recursive:
+@list='$(SUBDIRS)'; \
for subdir in $$list; do \
echo "Making $* in $$subdir"; \
mkdir -p $$subdir; \
$(MAKE) -C $$subdir -f $(top_rulesdir)/$(OUTDIR)/$$subdir/Makefile OUTDIR=$(OUTDIR)/$$subdir $*; \
+@list='$(SUBDIRS)' ; \
for i in $$list ; do \
echo "Making $* in $$i" ; \
mkdir -p "$$i" ; \
$(MAKE) -C "$$i" \
-f $(top_rulesdir)/$(OUTDIR)/$$i/Makefile \
OUTDIR=$(OUTDIR)/$$i \
$* ; \
done
all-local: $(PROGS)
@@ -36,26 +39,26 @@ all-local: $(PROGS)
install-local: install-local-progs install-local-scripts install-local-data
install-local-progs: $(PROGS)
@for p in $^; do \
echo " install -m755 '$$p' '$(DESTDIR)/$(installdir)'"; \
install -D -m755 "$$p" "$(DESTDIR)/$(installdir)/$$(basename $$p)"; \
@for p in $^ ; do \
echo " install -m755 '$$p' '$(DESTDIR)/$(installdir)'" ; \
install -D -m755 "$$p" "$(DESTDIR)/$(installdir)/$$(basename "$$p")" ; \
done
SCRIPTS_REAL = $(wildcard $(addprefix $(top_srcdir)/$(OUTDIR)/,$(SCRIPTS)))
install-local-scripts: $(SCRIPTS_REAL)
@for p in $^; do \
echo " install -m755 '$$p' '$(DESTDIR)/$(installdir)'"; \
install -D -m755 \
-s --strip-program $(top_srcdir)/debian/bin/fix-shebang \
"$$p" "$(DESTDIR)/$(installdir)/$$(basename $$p)"; \
@for p in $^ ; do \
echo " install -m755 '$$p' '$(DESTDIR)/$(installdir)'" ; \
install -D -m755 \
-s --strip-program $(top_srcdir)/debian/bin/fix-shebang \
"$$p" "$(DESTDIR)/$(installdir)/$$(basename "$$p")" ; \
done
DATA_REAL = $(wildcard $(addprefix $(top_srcdir)/$(OUTDIR)/,$(DATA)))
install-local-data: $(DATA_REAL)
@for p in $^; do \
echo " install -m644 '$$p' '$(DESTDIR)/$(installdir)'"; \
install -D -m644 "$$p" "$(DESTDIR)/$(installdir)/$$(basename $$p)"; \
@for p in $^ ; do \
echo " install -m644 '$$p' '$(DESTDIR)/$(installdir)'" ; \
install -D -m644 "$$p" "$(DESTDIR)/$(installdir)/$$(basename "$$p")" ; \
done

View File

@@ -11,13 +11,18 @@ objtool.real-%:
# these on the command line to make cross-builds work. But it also
# builds fixdep which still needs to be native in a cross-build. Set
# REALHOSTCC and REALHOSTLD variables which will be used for fixdep.
$(MAKE) -C $(top_srcdir)/tools/objtool O=$(CURDIR)/$* \
HOSTARCH=$(KERNEL_ARCH) ARCH=$* \
HOSTCC=$(CC) KBUILD_HOSTCFLAGS='$(CFLAGS) $(CPPFLAGS)' \
HOSTLD=$(CROSS_COMPILE)ld KBUILD_HOSTLDFLAGS='$(LDFLAGS)' \
HOSTAR=$(CROSS_COMPILE)ar \
REALHOSTCC=gcc REALHOSTLD=ld \
V=1
$(MAKE) -C $(top_srcdir)/tools/objtool \
O=$(CURDIR)/$* \
HOSTARCH=$(KERNEL_ARCH) \
ARCH=$* \
HOSTCC=$(CC) \
KBUILD_HOSTCFLAGS='$(CFLAGS) $(CPPFLAGS)' \
HOSTLD=$(CROSS_COMPILE)ld \
KBUILD_HOSTLDFLAGS='$(LDFLAGS)' \
HOSTAR=$(CROSS_COMPILE)ar \
REALHOSTCC=gcc \
REALHOSTLD=ld \
V=1
ln -f $*/objtool $@
%: %.o

View File

@@ -50,11 +50,11 @@ all:
+$(MAKE_PERF) -C $(top_srcdir)/tools/perf -f Makefile.perf all DESTDIR=dummy
+$(MAKE_PERF) -C $(top_srcdir)/tools/perf/Documentation man
# Check that perf didn't get linked against incompatibly-licensed libraries
@if readelf -d $(CURDIR)/perf | sed -rne 's/.*NEEDED.*\[(.*)\]/\1/p' | grep -E '\blib(bfd|crypto)'; then \
echo; \
echo 'perf linked against incompatibly-licensed libraries'; \
echo; \
exit 1; \
@if readelf -d $(CURDIR)/perf | sed -rne 's/.*NEEDED.*\[(.*)\]/\1/p' | grep -E '\blib(bfd|crypto)' ; then \
echo ; \
echo 'perf linked against incompatibly-licensed libraries' ; \
echo ; \
exit 1 ; \
fi
# Check that it links against abi::__cxa_demangle from libstdc++
grep __cxa_demangle $(CURDIR)/perf
@@ -70,5 +70,5 @@ install:
rm -f $(DESTDIR)/usr/bin/trace
mkdir -p $(DESTDIR)/usr/share/bash-completion/
mv $(DESTDIR)/etc/bash_completion.d \
$(DESTDIR)/usr/share/bash-completion/completions
$(DESTDIR)/usr/share/bash-completion/completions
rmdir --ignore-fail-on-non-empty $(DESTDIR)/etc

View File

@@ -1,6 +1,6 @@
include $(top_rulesdir)/Makefile.inc
MAKE_CPUPOWER := CFLAGS='$(CFLAGS) $(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(MAKE) O=$(CURDIR) CPUFREQ_BENCH=false V=true mandir=/usr/share/man
MAKE_CPUPOWER := CFLAGS='$(CFLAGS) $(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(MAKE) -C $(top_srcdir)/tools/power/cpupower O=$(CURDIR) CPUFREQ_BENCH=false V=true mandir=/usr/share/man
MAKE_CPUPOWER += DEBUG=$(if $(filter noopt,$(DEB_BUILD_OPTIONS)),true,)
@@ -12,10 +12,10 @@ MAKE_CPUPOWER += CROSS='$(CROSS_COMPILE)'
MAKE_CPUPOWER += libdir=/usr/lib/$(DEB_HOST_MULTIARCH)
all:
+$(MAKE_CPUPOWER) -C $(top_srcdir)/tools/power/cpupower
+$(MAKE_CPUPOWER)
install:
+$(MAKE_CPUPOWER) -C $(top_srcdir)/tools/power/cpupower install DESTDIR=$(DESTDIR)
+$(MAKE_CPUPOWER) install DESTDIR=$(DESTDIR)
clean:
+$(MAKE_CPUPOWER) -C $(top_srcdir)/tools/power/cpupower clean
+$(MAKE_CPUPOWER) clean

View File

@@ -1,15 +1,15 @@
include $(top_rulesdir)/Makefile.inc
# Intel Speed Select Tool (ISST)
MAKE_ISST := CFLAGS='$(CFLAGS) $(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(MAKE) O=$(CURDIR)
MAKE_ISST := CFLAGS='$(CFLAGS) $(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(MAKE) -C $(top_srcdir)/tools/power/x86/intel-speed-select O=$(CURDIR)
MAKE_ISST += bindir=/usr/sbin V=1
all:
$(MAKE_ISST) -C $(top_srcdir)/tools/power/x86/intel-speed-select
$(MAKE_ISST)
install:
$(MAKE_ISST) -C $(top_srcdir)/tools/power/x86/intel-speed-select install DESTDIR=$(DESTDIR)
$(MAKE_ISST) install DESTDIR=$(DESTDIR)
clean:
$(MAKE_ISST) -C $(top_srcdir)/tools/power/x86/intel-speed-select clean
$(MAKE_ISST) clean

View File

@@ -4,6 +4,9 @@ installdir = /usr/sbin
include $(top_rulesdir)/Makefile.inc
CPPFLAGS += -I"$(top_srcdir)/tools/include" -DMSRHEADER='"$(top_srcdir)/arch/x86/include/asm/msr-index.h"' -DINTEL_FAMILY_HEADER='"$(top_srcdir)/arch/x86/include/asm/intel-family.h"' -DBUILD_BUG_HEADER='"$(top_srcdir)/include/linux/build_bug.h"'
CPPFLAGS += -I$(top_srcdir)/tools/include
CPPFLAGS += -DMSRHEADER='"$(top_srcdir)/arch/x86/include/asm/msr-index.h"'
CPPFLAGS += -DINTEL_FAMILY_HEADER='"$(top_srcdir)/arch/x86/include/asm/intel-family.h"'
CPPFLAGS += -DBUILD_BUG_HEADER='"$(top_srcdir)/include/linux/build_bug.h"'
LDLIBS += -lcap -lrt

View File

@@ -4,4 +4,5 @@ installdir = /usr/sbin
include $(top_rulesdir)/Makefile.inc
CPPFLAGS += -I"$(top_srcdir)/tools/include" -DMSRHEADER='"$(top_srcdir)/arch/x86/include/asm/msr-index.h"'
CPPFLAGS += -I$(top_srcdir)/tools/include
CPPFLAGS += -DMSRHEADER='"$(top_srcdir)/arch/x86/include/asm/msr-index.h"'

View File

@@ -5,20 +5,22 @@ srcdir := $(top_srcdir)/tools/usb/usbip
# sub-make command line.
unexport MAKEFLAGS
all: export CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
all: export CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS) \
-isystem $(top_srcdir)/debian/build/build-tools/include
CPPFLAGS_COMMON := -Wno-error=address-of-packed-member
all: export CFLAGS := $(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS_COMMON)
all: export CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS) $(CPPFLAGS_COMMON) \
-isystem $(top_srcdir)/debian/build/build-tools/include
all: export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
all:
rsync -a $(srcdir)/ .
./autogen.sh
./configure \
--prefix=/usr \
--with-tcp-wrappers \
--with-usbids-dir=/usr/share/misc \
--disable-shared \
--disable-static \
--host=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
--prefix=/usr \
--with-tcp-wrappers \
--with-usbids-dir=/usr/share/misc \
--disable-shared \
--disable-static \
--host=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
$(MAKE) V=1
install: