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