endif
PREFIX ?= /usr/local
-CFLAGS ?= -O2 -fomit-frame-pointer -D_BSD_SOURCE -D_GNU_SOURCE
-CFLAGS += -std=c99 -Wall -D_BSD_SOURCE -D_GNU_SOURCE
-SPARSEFLAGS = $(CFLAGS)
+CFLAGS ?= -O2 -fomit-frame-pointer -pipe
+CFLAGS += -std=gnu99 -D_GNU_SOURCE \
+ -Wall -Wextra -Wformat=2 -Wundef -Wno-unused-parameter \
+ -Wshadow -Wpointer-arith
+SPARSEFLAGS = $(CFLAGS) -D__transparent_union__=__unused__ -D_STRING_ARCH_unaligned=1 \
+ -D__builtin_stpcpy=stpcpy
LDFLAGS += -lfl
BIN = b43-asm.bin
SRCS = parser.c scanner.c main.c initvals.c util.c args.c
# YACC related CFLAGS
-CFLAGS += -DYYSTYPE="void *" -DYYERROR_VERBOSE -DYYDEBUG -Wno-unused
+CFLAGS += -DYYSTYPE="void *" -DYYERROR_VERBOSE -DYYDEBUG=1 -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -Wno-unused
.SUFFIXES:
.PHONY: all install clean distclean
all: $(BIN)
-scanner.c: scanner.l parser.c main.h
+scanner.c: scanner.l parser.h main.h util.h
$(QUIET_LEX) -o scanner.c --header-file=scanner.h scanner.l
+scanner.h: scanner.c
+
scanner.o: scanner.c
$(QUIET_CC) $(CFLAGS) -c -o scanner.o scanner.c
parser.c: parser.y main.h util.h
$(QUIET_YACC) --defines -o parser.c parser.y
+parser.h: parser.c
+
parser.o: parser.c
$(QUIET_CC) $(CFLAGS) -c -o parser.o parser.c
$(QUIET_CC) $(CFLAGS) -o $(BIN) $(call OBJS,$(SRCS)) $(LDFLAGS)
install: all
- install -o 0 -g 0 -m 755 $(BIN) $(PREFIX)/bin/
+ install -m 755 $(BIN) $(PREFIX)/bin/
cp b43-asm b43-asm.inst
sed -i -e 's/installed=0/installed=1/' b43-asm.inst
- install -o 0 -g 0 -m 755 b43-asm.inst $(PREFIX)/bin/b43-asm
+ install -m 755 b43-asm.inst $(PREFIX)/bin/b43-asm
rm -f b43-asm.inst
clean: