-Wswitch-enum \
   -Wundef \
   -Wunreachable-code \
-  -Wunsafe-loop-optimizations \
   -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
        rm -f endian.h
        ./endian > endian.h
 
-kinect_upload_fw: endian.h kinect_upload_fw.o
+kinect_upload_fw.o: endian.h
+
+kinect_upload_fw: kinect_upload_fw.o
 
 
 install: kinect_upload_fw