blob: 325a35e1c28e8e7908e9c1ec06a3519673fc8811 [file] [log] [blame]
Daniel Borkmanne306e2c2013-03-20 12:11:47 +00001prefix = /usr
2
3CC = gcc
Daniel Borkmann3f356382013-12-11 23:43:44 +01004LEX = flex
5YACC = bison
Jakub Kicinski71bb4282017-10-04 20:10:04 -07006MAKE = make
Daniel Borkmanne306e2c2013-03-20 12:11:47 +00007
Kamal Mostafad7475de2015-11-11 14:24:27 -08008CFLAGS += -Wall -O2
9CFLAGS += -D__EXPORTED_HEADERS__ -I../../include/uapi -I../../include
10
Daniel Borkmann3f356382013-12-11 23:43:44 +010011%.yacc.c: %.y
12 $(YACC) -o $@ -d $<
13
14%.lex.c: %.l
15 $(LEX) -o $@ $<
16
Jakub Kicinski71bb4282017-10-04 20:10:04 -070017all: bpf_jit_disasm bpf_dbg bpf_asm bpftool
Daniel Borkmanne306e2c2013-03-20 12:11:47 +000018
Kamal Mostafad7475de2015-11-11 14:24:27 -080019bpf_jit_disasm : CFLAGS += -DPACKAGE='bpf_jit_disasm'
Daniel Borkmanne306e2c2013-03-20 12:11:47 +000020bpf_jit_disasm : LDLIBS = -lopcodes -lbfd -ldl
21bpf_jit_disasm : bpf_jit_disasm.o
22
Daniel Borkmannfd981e32013-12-11 23:43:43 +010023bpf_dbg : LDLIBS = -lreadline
24bpf_dbg : bpf_dbg.o
25
Daniel Borkmann3f356382013-12-11 23:43:44 +010026bpf_asm : LDLIBS =
27bpf_asm : bpf_asm.o bpf_exp.yacc.o bpf_exp.lex.o
28bpf_exp.lex.o : bpf_exp.yacc.c
29
Jakub Kicinski71bb4282017-10-04 20:10:04 -070030clean: bpftool_clean
Daniel Borkmann3f356382013-12-11 23:43:44 +010031 rm -rf *.o bpf_jit_disasm bpf_dbg bpf_asm bpf_exp.yacc.* bpf_exp.lex.*
Daniel Borkmanne306e2c2013-03-20 12:11:47 +000032
Jakub Kicinski71bb4282017-10-04 20:10:04 -070033install: bpftool_install
Daniel Borkmanne306e2c2013-03-20 12:11:47 +000034 install bpf_jit_disasm $(prefix)/bin/bpf_jit_disasm
Daniel Borkmannfd981e32013-12-11 23:43:43 +010035 install bpf_dbg $(prefix)/bin/bpf_dbg
Daniel Borkmann3f356382013-12-11 23:43:44 +010036 install bpf_asm $(prefix)/bin/bpf_asm
Jakub Kicinski71bb4282017-10-04 20:10:04 -070037
38bpftool:
39 $(MAKE) -C bpftool
40
41bpftool_install:
42 $(MAKE) -C bpftool install
43
44bpftool_clean:
45 $(MAKE) -C bpftool clean
46
47.PHONY: bpftool FORCE