| 1 | # kbuild trick to avoid linker error. Can be omitted if a module is built. |
| 2 | obj- := dummy.o |
| 3 | |
| 4 | hostprogs-$(CONFIG_SAMPLE_SECCOMP) := bpf-fancy dropper bpf-direct |
| 5 | |
| 6 | HOSTCFLAGS_bpf-fancy.o += -I$(objtree)/usr/include |
| 7 | HOSTCFLAGS_bpf-fancy.o += -idirafter $(objtree)/include |
| 8 | HOSTCFLAGS_bpf-helper.o += -I$(objtree)/usr/include |
| 9 | HOSTCFLAGS_bpf-helper.o += -idirafter $(objtree)/include |
| 10 | bpf-fancy-objs := bpf-fancy.o bpf-helper.o |
| 11 | |
| 12 | HOSTCFLAGS_dropper.o += -I$(objtree)/usr/include |
| 13 | HOSTCFLAGS_dropper.o += -idirafter $(objtree)/include |
| 14 | dropper-objs := dropper.o |
| 15 | |
| 16 | HOSTCFLAGS_bpf-direct.o += -I$(objtree)/usr/include |
| 17 | HOSTCFLAGS_bpf-direct.o += -idirafter $(objtree)/include |
| 18 | bpf-direct-objs := bpf-direct.o |
| 19 | |
| 20 | # Try to match the kernel target. |
| 21 | ifndef CROSS_COMPILE |
| 22 | ifndef CONFIG_64BIT |
| 23 | |
| 24 | # s390 has -m31 flag to build 31 bit binaries |
| 25 | ifndef CONFIG_S390 |
| 26 | MFLAG = -m32 |
| 27 | else |
| 28 | MFLAG = -m31 |
| 29 | endif |
| 30 | |
| 31 | HOSTCFLAGS_bpf-direct.o += $(MFLAG) |
| 32 | HOSTCFLAGS_dropper.o += $(MFLAG) |
| 33 | HOSTCFLAGS_bpf-helper.o += $(MFLAG) |
| 34 | HOSTCFLAGS_bpf-fancy.o += $(MFLAG) |
| 35 | HOSTLOADLIBES_bpf-direct += $(MFLAG) |
| 36 | HOSTLOADLIBES_bpf-fancy += $(MFLAG) |
| 37 | HOSTLOADLIBES_dropper += $(MFLAG) |
| 38 | endif |
| 39 | always := $(hostprogs-m) |
| 40 | else |
| 41 | # MIPS system calls are defined based on the -mabi that is passed |
| 42 | # to the toolchain which may or may not be a valid option |
| 43 | # for the host toolchain. So disable tests if target architecture |
| 44 | # is MIPS but the host isn't. |
| 45 | ifndef CONFIG_MIPS |
| 46 | always := $(hostprogs-m) |
| 47 | endif |
| 48 | endif |