summaryrefslogtreecommitdiff
path: root/tools/atmega324u_usbhid/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/atmega324u_usbhid/Makefile')
-rw-r--r--tools/atmega324u_usbhid/Makefile65
1 files changed, 65 insertions, 0 deletions
diff --git a/tools/atmega324u_usbhid/Makefile b/tools/atmega324u_usbhid/Makefile
new file mode 100644
index 0000000..f1db097
--- /dev/null
+++ b/tools/atmega324u_usbhid/Makefile
@@ -0,0 +1,65 @@
+
+OS = LINUX
+#OS = MACOSX
+#OS = WINDOWS
+
+PROG = rawhid_testinterface
+
+# To set up Ubuntu Linux to cross compile for Windows:
+#
+# apt-get install mingw32 mingw32-binutils mingw32-runtime
+#
+# Just edit the variable above for WINDOWS, then use "make" to build rawhid.exe
+
+ifeq ($(OS), LINUX)
+TARGET = $(PROG)
+CC = gcc
+STRIP = strip
+CFLAGS = -Wall -O2 -DOS_$(OS)
+LIBS = -lusb
+else ifeq ($(OS), MACOSX)
+TARGET = $(PROG).dmg
+SDK = /Developer/SDKs/MacOSX10.5.sdk
+ARCH = -mmacosx-version-min=10.5 -arch ppc -arch i386
+CC = gcc
+STRIP = strip
+CFLAGS = -Wall -O2 -DOS_$(OS) -isysroot $(SDK) $(ARCH)
+LIBS = $(ARCH) -Wl,-syslibroot,$(SDK) -framework IOKit -framework CoreFoundation
+else ifeq ($(OS), WINDOWS)
+TARGET = $(PROG).exe
+CC = i586-mingw32msvc-gcc
+STRIP = i586-mingw32msvc-strip
+CFLAGS = -Wall -O2 -DOS_$(OS)
+LIBS = -lhid -lsetupapi
+endif
+
+OBJS = $(PROG).o hid.o
+
+all: $(TARGET) reset
+
+$(PROG): $(OBJS)
+ $(CC) -o $(PROG) $(OBJS) $(LIBS)
+ $(STRIP) $(PROG)
+
+$(PROG).exe: $(PROG)
+ cp $(PROG) $(PROG).exe
+
+$(PROG).dmg: $(PROG)
+ mkdir tmp
+ cp $(PROG) tmp
+ hdiutil create -ov -volname "Raw HID Test" -srcfolder tmp $(PROG).dmg
+
+hid.o: hid_$(OS).c hid.h
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+reset: reset.o hid.o
+ $(CC) -o $@ $+ $(LIBS)
+ $(STRIP) $@
+
+reset.o: reset.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+clean:
+ rm -f *.o $(PROG) $(PROG).exe $(PROG).dmg
+ rm -rf tmp reset
+