b43-asm: Add an option to print the code sizes after assembling.
[b43-tools.git] / assembler / Makefile
1 CC              = gcc
2 LEX             = flex
3 YACC            = bison
4
5 PREFIX          ?= /usr/local
6
7 CFLAGS          ?= -O2 -fomit-frame-pointer -D_BSD_SOURCE -D_GNU_SOURCE
8 CFLAGS          += -std=c99 -Wall -D_BSD_SOURCE -D_GNU_SOURCE
9 LDFLAGS         += -lfl
10
11 BIN             = b43-asm.bin
12 OBJECTS         = parser.o scanner.o main.o initvals.o util.o args.o
13
14 # YACC related CFLAGS
15 CFLAGS          += -DYYSTYPE="void *" -DYYERROR_VERBOSE -DYYDEBUG -Wno-unused
16
17 all: $(BIN)
18
19 scanner.c: scanner.l parser.c main.h
20         $(LEX) -o scanner.c --header-file=scanner.h scanner.l
21
22 scanner.o: scanner.c
23         $(CC) $(CFLAGS) -c -o scanner.o scanner.c
24
25 parser.c: parser.y main.h util.h
26         $(YACC) --defines -o parser.c parser.y
27
28 parser.o: parser.c
29         $(CC) $(CFLAGS) -c -o parser.o parser.c
30
31 main.o: parser.c main.h list.h util.h args.h initvals.h
32
33 initvals.o: initvals.h main.h list.h util.h args.h
34
35 util.o: util.h
36
37 args.o: args.h main.h util.h
38
39 $(BIN): $(OBJECTS)
40         $(CC) $(CFLAGS) -o $(BIN) $(OBJECTS) $(LDFLAGS)
41
42 install: all
43         -install -o 0 -g 0 -m 755 $(BIN) $(PREFIX)/bin/
44         -cp b43-asm b43-asm.inst
45         -sed -i -e 's/installed=0/installed=1/' b43-asm.inst
46         -install -o 0 -g 0 -m 755 b43-asm.inst $(PREFIX)/bin/b43-asm
47         -rm -f b43-asm.inst
48
49 clean:
50         -rm -f *~ *.o *.orig *.rej scanner.c scanner.h parser.c parser.h
51
52 distclean: clean
53         -rm -f $(BIN)