-CFLAGS ?= -std=c99 -pedantic -pedantic-errors -Wall -Wextra -O2
+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 \
-Wswitch-enum \
-Wundef \
-Wunreachable-code \
- -Wunsafe-loop-optimizations \
- -Wunused-but-set-variable \
-Wwrite-strings
-CFLAGS += $(shell pkg-config --cflags libusb-1.0)
-LDFLAGS += $(shell pkg-config --libs libusb-1.0)
+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
-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
+ rm -rf *~ *.o kinect_upload_fw endian endian.h