0b75eec18325e419003cc689a48999710598c927
[SCSI2SD.git] / software / scsi2sd-config / Makefile
1
2 CPPFLAGS = -I ../bootloaderhost/hidapi/hidapi -I ../bootloaderhost
3 CFLAGS += -Wall -Wno-pointer-sign -O2
4 CXXFLAGS += -Wall -std=c++11 -O2
5 VPATH += ../bootloaderhost
6
7 TARGET ?= $(shell uname -s)
8 ifeq ($(TARGET),Win32)
9         VPATH += hidapi/windows
10         LDFLAGS += -mconsole -mwindows -lsetupapi -lws2_32
11         BUILD = build/windows/32bit
12         CC=i686-w64-mingw32-gcc
13         CXX=i686-w64-mingw32-g++
14         EXE=.exe
15 endif
16 ifeq ($(TARGET),Win64)
17         VPATH += hidapi/windows
18         LDFLAGS += -mconsole -mwindows -lsetupapi -lws2_32
19         BUILD = build/windows/64bit
20         CC=x86_64-w64-mingw32-gcc
21         CXX=x86_64-w64-mingw32-g++
22         EXE=.exe
23 endif
24 ifeq ($(TARGET),Linux)
25         VPATH += hidapi/linux
26         LDFLAGS += -ludev
27         BUILD = build/linux
28 endif
29 ifeq ($(TARGET),Darwin)
30         # Should match OSX
31         VPATH += ../bootloaderhost/hidapi/mac
32         LDFLAGS += -framework IOKit -framework CoreFoundation
33         CPPFLAGS += -isysroot /Xcode3.1.4/SDKs/MacOSX10.5.sdk
34         CFLAGS += -mmacosx-version-min=10.5 -arch x86_64 -arch i386 -arch ppc
35         CXXFLAGS += -mmacosx-version-min=10.5 -arch x86_64 -arch i386 -arch ppc
36         CC=/Xcode3.1.4/usr/bin/gcc
37         CXX=/Xcode3.1.4/usr/bin/g++
38         BUILD=build/mac
39 endif
40
41 all:  $(BUILD)/scsi2sd-config$(EXE)
42
43 HIDAPI = \
44         $(BUILD)/hid.o \
45
46 OBJ = \
47         $(HIDAPI) \
48         $(BUILD)/scsi2sd-config.o \
49         $(BUILD)/SCSI2SD_HID.o \
50
51 $(BUILD)/%.o: %.c
52         mkdir -p $(dir $@)
53         $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c -o $@
54
55 $(BUILD)/%.o: %.cc
56         mkdir -p $(dir $@)
57         $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -c -o $@
58
59 $(BUILD)/scsi2sd-config$(EXE): $(OBJ)
60         mkdir -p $(dir $@)
61         $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@
62
63 clean:
64         rm $(BUILD)/scsi2sd-config$(EXE) $(OBJ)