1*cf84ac9aSAndroid Build Coastguard Worker# scno.h make rules for strace. 2*cf84ac9aSAndroid Build Coastguard Worker# 3*cf84ac9aSAndroid Build Coastguard Worker# Copyright (c) 2017 Dmitry V. Levin <[email protected]> 4*cf84ac9aSAndroid Build Coastguard Worker# All rights reserved. 5*cf84ac9aSAndroid Build Coastguard Worker# 6*cf84ac9aSAndroid Build Coastguard Worker# Redistribution and use in source and binary forms, with or without 7*cf84ac9aSAndroid Build Coastguard Worker# modification, are permitted provided that the following conditions 8*cf84ac9aSAndroid Build Coastguard Worker# are met: 9*cf84ac9aSAndroid Build Coastguard Worker# 1. Redistributions of source code must retain the above copyright 10*cf84ac9aSAndroid Build Coastguard Worker# notice, this list of conditions and the following disclaimer. 11*cf84ac9aSAndroid Build Coastguard Worker# 2. Redistributions in binary form must reproduce the above copyright 12*cf84ac9aSAndroid Build Coastguard Worker# notice, this list of conditions and the following disclaimer in the 13*cf84ac9aSAndroid Build Coastguard Worker# documentation and/or other materials provided with the distribution. 14*cf84ac9aSAndroid Build Coastguard Worker# 3. The name of the author may not be used to endorse or promote products 15*cf84ac9aSAndroid Build Coastguard Worker# derived from this software without specific prior written permission. 16*cf84ac9aSAndroid Build Coastguard Worker# 17*cf84ac9aSAndroid Build Coastguard Worker# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18*cf84ac9aSAndroid Build Coastguard Worker# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19*cf84ac9aSAndroid Build Coastguard Worker# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20*cf84ac9aSAndroid Build Coastguard Worker# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21*cf84ac9aSAndroid Build Coastguard Worker# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22*cf84ac9aSAndroid Build Coastguard Worker# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23*cf84ac9aSAndroid Build Coastguard Worker# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24*cf84ac9aSAndroid Build Coastguard Worker# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25*cf84ac9aSAndroid Build Coastguard Worker# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26*cf84ac9aSAndroid Build Coastguard Worker# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27*cf84ac9aSAndroid Build Coastguard Worker 28*cf84ac9aSAndroid Build Coastguard WorkerSCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 29*cf84ac9aSAndroid Build Coastguard Worker $(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) 30*cf84ac9aSAndroid Build Coastguard Worker 31*cf84ac9aSAndroid Build Coastguard Workersyscallent.i: $(top_builddir)/config.h $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h 32*cf84ac9aSAndroid Build Coastguard Worker $(CPP) -P $(SCNO_CPPFLAGS) -include $^ -o $@ 33*cf84ac9aSAndroid Build Coastguard Worker 34*cf84ac9aSAndroid Build Coastguard Workerdigits = [[:digit:]][[:digit:]]* 35*cf84ac9aSAndroid Build Coastguard Workeral_nums = [[:alnum:]_][[:alnum:]_]* 36*cf84ac9aSAndroid Build Coastguard WorkerSCNO_SED = /TRACE_INDIRECT_SUBCALL/d; s/^\[[[:space:]]*\($(digits)\)\][[:space:]]*=[[:space:]]*{[^,]*,[^,]*,[^,]*,[[:space:]]*"\($(al_nums)\)"[[:space:]]*},.*/\#ifndef __NR_\2\n\# define __NR_\2 (SYSCALL_BIT | \1)\n\#endif/p 37*cf84ac9aSAndroid Build Coastguard Worker 38*cf84ac9aSAndroid Build Coastguard Workerscno.h: $(top_srcdir)/scno.head syscallent.i 39*cf84ac9aSAndroid Build Coastguard Worker echo '/* Generated by Makefile from $^; do not edit. */' > $@-t 40*cf84ac9aSAndroid Build Coastguard Worker cat $< >> $@-t 41*cf84ac9aSAndroid Build Coastguard Worker LC_ALL=C sed -n '$(SCNO_SED)' $(filter-out $<,$^) >> $@-t 42*cf84ac9aSAndroid Build Coastguard Worker mv $@-t $@ 43*cf84ac9aSAndroid Build Coastguard Worker 44*cf84ac9aSAndroid Build Coastguard WorkerBUILT_SOURCES += scno.h 45*cf84ac9aSAndroid Build Coastguard WorkerCLEANFILES += syscallent.i scno.h 46