Brian Silverman | 20ce05e | 2017-06-24 14:27:26 -0700 | [diff] [blame] | 1 | OS ?= LINUX |
| 2 | #OS ?= WINDOWS |
| 3 | #OS ?= MACOSX |
| 4 | #OS ?= BSD |
| 5 | |
| 6 | # uncomment this to use libusb on Macintosh, instead of Apple's HID manager via IOKit |
| 7 | # this is technically not the "correct" way to support Macs, but it's been reported to |
| 8 | # work. |
| 9 | #USE_LIBUSB ?= YES |
| 10 | |
| 11 | ifeq ($(OS), LINUX) # also works on FreeBSD |
| 12 | CC ?= gcc |
| 13 | CFLAGS ?= -O2 -Wall |
| 14 | teensy_loader_cli: teensy_loader_cli.c |
| 15 | $(CC) $(CFLAGS) -s -DUSE_LIBUSB -o teensy_loader_cli teensy_loader_cli.c -lusb |
| 16 | |
| 17 | |
| 18 | else ifeq ($(OS), WINDOWS) |
| 19 | CC = i586-mingw32msvc-gcc |
| 20 | CFLAGS ?= -O2 -Wall |
| 21 | teensy_loader_cli.exe: teensy_loader_cli.c |
| 22 | $(CC) $(CFLAGS) -s -DUSE_WIN32 -o teensy_loader_cli.exe teensy_loader_cli.c -lhid -lsetupapi -lwinmm |
| 23 | |
| 24 | |
| 25 | else ifeq ($(OS), MACOSX) |
| 26 | ifeq ($(USE_LIBUSB), YES) |
| 27 | CC ?= gcc |
| 28 | CFLAGS ?= -O2 -Wall |
| 29 | teensy_loader_cli: teensy_loader_cli.c |
| 30 | $(CC) $(CFLAGS) -s -DUSE_LIBUSB -DMACOSX -o teensy_loader_cli teensy_loader_cli.c -lusb -I /usr/local/include -L/usr/local/lib |
| 31 | |
| 32 | else |
| 33 | CC ?= gcc |
| 34 | SDK ?= $(shell xcrun --show-sdk-path) |
| 35 | #SDK ?= /Developer/SDKs/MacOSX10.6.sdk # the old way... |
| 36 | #SDK = /Developer_xcode32/SDKs/MacOSX10.5.sdk # the very old way! |
| 37 | #CC = /Developer_xcode32/usr/bin/gcc-4.0 |
| 38 | #CFLAGS = -O2 -Wall -arch i386 -arch ppc |
| 39 | CFLAGS ?= -O2 -Wall |
| 40 | teensy_loader_cli: teensy_loader_cli.c |
| 41 | ifeq ($(SDK),) |
| 42 | $(error SDK was not found. To use this type of compilation please install Xcode) |
| 43 | endif |
| 44 | $(CC) $(CFLAGS) -DUSE_APPLE_IOKIT -isysroot $(SDK) -o teensy_loader_cli teensy_loader_cli.c -Wl,-syslibroot,$(SDK) -framework IOKit -framework CoreFoundation |
| 45 | |
| 46 | endif |
| 47 | |
| 48 | else ifeq ($(OS), BSD) # works on NetBSD and OpenBSD |
| 49 | CC ?= gcc |
| 50 | CFLAGS ?= -O2 -Wall |
| 51 | teensy_loader_cli: teensy_loader_cli.c |
| 52 | $(CC) $(CFLAGS) -s -DUSE_UHID -o teensy_loader_cli teensy_loader_cli.c |
| 53 | |
| 54 | |
| 55 | endif |
| 56 | |
| 57 | |
| 58 | clean: |
| 59 | rm -f teensy_loader_cli teensy_loader_cli.exe* |