1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
CFLAGS ?= -std=c99 -pedantic -Wall -Wextra -O2
# Don't make pedantic checks errors,
# as vanilla libusb-1.0.8 can't live with that
#CFLAGS += -pedantic-errors
# GCC >= 4.6
#CFLAGS += -Wunused-but-set-variable
CFLAGS += -fno-common \
-Wall \
-Wextra \
-Wformat=2 \
-Winit-self \
-Winline \
-Wpacked \
-Wp,-D_FORTIFY_SOURCE=2 \
-Wpointer-arith \
-Wlarger-than-65500 \
-Wmissing-declarations \
-Wmissing-format-attribute \
-Wmissing-noreturn \
-Wmissing-prototypes \
-Wnested-externs \
-Wold-style-definition \
-Wredundant-decls \
-Wsign-compare \
-Wstrict-aliasing=2 \
-Wstrict-prototypes \
-Wswitch-enum \
-Wundef \
-Wunreachable-code \
-Wwrite-strings
ifneq ($(CC),clang)
CFLAGS += -Wunsafe-loop-optimizations
endif
CFLAGS += $(shell pkg-config --cflags libusb-1.0)
LDLIBS += $(shell pkg-config --libs libusb-1.0)
PREFIX ?= /usr/local
bindir := $(PREFIX)/sbin
all: kinect_upload_fw
endian: endian.o
endian.h: endian
rm -f endian.h
./endian > endian.h
kinect_upload_fw.o: endian.h
kinect_upload_fw: kinect_upload_fw.o
install: kinect_upload_fw
install -d $(DESTDIR)$(bindir)
install -m 755 kinect_upload_fw $(DESTDIR)$(bindir)
clean:
rm -rf *~ *.o kinect_upload_fw endian endian.h
|