13515Sache# SPDX-License-Identifier: GPL-2.0 23515SacheCFLAGS = -Wall 33515SacheCFLAGS += -Wno-nonnull 43515SacheCFLAGS += -D_GNU_SOURCE 53515Sache 63515SacheTEST_PROGS := binfmt_script.py 73515SacheTEST_GEN_PROGS := execveat load_address_4096 load_address_2097152 load_address_16777216 non-regular 83515SacheTEST_GEN_FILES := execveat.symlink execveat.denatured script subdir 93515Sache# Makefile is a run-time dependency, since it's accessed by the execveat test 103515SacheTEST_FILES := Makefile 113515Sache 123515SacheTEST_GEN_PROGS += recursion-depth 133515SacheTEST_GEN_PROGS += null-argv 143515Sache 153515SacheEXTRA_CLEAN := $(OUTPUT)/subdir.moved $(OUTPUT)/execveat.moved $(OUTPUT)/xxxxx* \ 163515Sache $(OUTPUT)/S_I*.test 173515Sache 183515Sacheinclude ../lib.mk 193515Sache 203515Sache$(OUTPUT)/subdir: 213515Sache mkdir -p $@ 223740Sache$(OUTPUT)/script: Makefile 233515Sache echo '#!/bin/bash' > $@ 243515Sache echo 'exit $$*' >> $@ 253515Sache chmod +x $@ 263515Sache$(OUTPUT)/execveat.symlink: $(OUTPUT)/execveat 273515Sache cd $(OUTPUT) && ln -s -f $(shell basename $<) $(shell basename $@) 283515Sache$(OUTPUT)/execveat.denatured: $(OUTPUT)/execveat 293515Sache cp $< $@ 303515Sache chmod -x $@ 313515Sache$(OUTPUT)/load_address_4096: load_address.c 323515Sache $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x1000 -pie -static $< -o $@ 333515Sache$(OUTPUT)/load_address_2097152: load_address.c 343515Sache $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x200000 -pie -static $< -o $@ 353515Sache$(OUTPUT)/load_address_16777216: load_address.c 363515Sache $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x1000000 -pie -static $< -o $@ 373515Sache