README: fix a typo in the "make install_udev_rules" command line
[kinect-audio-setup.git] / kinect_upload_fw / Makefile
index 542959f..c8bbc86 100644 (file)
@@ -1,4 +1,12 @@
-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 \
@@ -22,21 +30,35 @@ CFLAGS += -fno-common \
   -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