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 \ -Wunsafe-loop-optimizations \ -Wwrite-strings 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