blob: 1013a3e20ef2e5861e05279c2a1989df13eeb7da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
TARGET=hid
default:
make -C ../../ $(TARGET)
install:
make -C ../../ $(TARGET)_install
clean:
make -C ../../ $(TARGET)_clean
# this stuff below probably works, but its not maintained anymore since I use
# externals/Makefile
CWD := $(shell pwd)
# these are setup to be overridden by the packages/Makefile
cvs_root_dir = $(CWD)/../../..
DESTDIR = $(CWD)/build/
BUILDLAYOUT_DIR = $(cvs_root_dir)/packages
include $(BUILDLAYOUT_DIR)/Makefile.buildlayout
CFLAGS = $(OPT_FLAGS) -Wall -I./ -I../../../pd/src
LDFLAGS =
LIBS = -lm
#SRC = $(wildcard $(externals_src)/hcs/hid/hid*.c)
SRC = $(wildcard *.c)
SRC = input_arrays.c hid_$(OS_NAME).c
OBJ := $(SRC:.c=.o)
# ----------------------- GNU/LINUX i386 -----------------------
ifeq ($(OS_NAME),linux)
EXTENSION = pd_linux
LDFLAGS += -export_dynamic -shared
LIBS += -lc
STRIP = strip --strip-unneeded
hid.$(EXTENSION): input_arrays $(OBJ)
endif
# ----------------------- Windows MinGW -----------------------
ifeq ($(OS_NAME),win)
EXTENSION = dll
CFLAGS += -mms-bitfields
LDFLAGS += -shared
LIBS += -lhid -lsetupapi -L../../../pd/bin -lpd
STRIP = strip --strip-unneeded
hid.$(EXTENSION): input_arrays $(OBJ)
endif
# ----------------------- DARWIN -----------------------
ifeq ($(OS_NAME),darwin)
EXTENSION = pd_darwin
CFLAGS += -I./HID\ Utilities\ Source
PDEXECUTABLE = ../../../pd/bin/pd
FRAMEWORKS = Carbon IOKit ForceFeedback
LDFLAGS += -bundle -bundle_loader $(PDEXECUTABLE)
LIBS += -lc -L/sw/lib -L./HID\ Utilities\ Source/build \
-lHIDUtilities $(patsubst %,-framework %,$(FRAMEWORKS))
STRIP = strip -x
hid.$(EXTENSION): input_arrays hid_utilites $(OBJ)
endif
all: hid.$(EXTENSION)
.SUFFIXES: .$(EXTENSION)
# ----------------------- GENERAL ---------------------------------------------
# generic optimization
OPT_FLAGS = -O3 -ffast-math
# G4 optimization on Mac OS X
#OPT_FLAGS = -O3 -mcpu=7400 -maltivec -ffast-math -fPIC
# faster G4 7450 optimization (gives errors) on GNU/Linux
#OPT_FLAGS = -O3 -mcpu=7450 -maltivec -ffast-math -fPIC
# G4 optimization on Mac OS X
#OPT_FLAGS = -O3 -mcpu=7400 -faltivec -ffast-math -fPIC
# faster G4 7450 optimization (gives errors) on Mac OS X
#OPT_FLAGS = -ffast -mcpu=7450 -faltivec -ffast-math -fPIC
%.o: %.c
$(CC) $(CFLAGS) -o "$*.o" -c "$*.c"
%.$(EXTENSION): %.o
$(CC) $(LDFLAGS) -o "$*.$(EXTENSION)" "$*.o" $(OBJ) $(LIBS) \
`test -f $*.libs && cat $*.libs` \
`test -f $(dir $*)../$(OS_NAME)/$(notdir $*).libs && \
cat $(dir $*)../$(OS_NAME)/$(notdir $*).libs`
chmod a-x "$*.$(EXTENSION)"
$(STRIP) $*.$(EXTENSION)
rm -f -- $*.o
input_arrays: input_arrays.c input_arrays.h
input_arrays.c: linux/input.h
./make-arrays-from-input.h.pl
input_arrays.h: linux/input.h
./make-arrays-from-input.h.pl
hid_utilities:
test -f ./HID\ Utilities\ Source/build/libHIDUtilities.a || \
( cd ./HID\ Utilities\ Source && pbxbuild )
local_clean:
-rm -f -- *.$(EXTENSION) *~
-find . -name '*.o' | xargs rm -f --
distclean: local_clean
-rm -f -- input_arrays.? doc/ev*-list.pd
.PHONY: all input_arrays hid_utilities clean distclean
test_locations:
@echo "EXTENSION: $(EXTENSION)"
@echo "CFLAGS: $(CFLAGS)"
@echo "LDFLAGS: $(LDFLAGS)"
@echo "LIBS: $(LIBS)"
@echo "STRIP: $(STRIP)"
@echo " "
@echo "SRC: $(SRC)"
@echo "OBJ: $(OBJ)"
@echo " "
@echo "OS_NAME: $(OS_NAME)"
@echo "PD_VERSION: $(PD_VERSION)"
@echo "PACKAGE_VERSION: $(PACKAGE_VERSION)"
@echo "CWD $(CWD)"
@echo "DESTDIR $(DESTDIR)"
@echo "PREFIX $(prefix)"
@echo "BINDIR $(bindir)"
@echo "LIBDIR $(libdir)"
@echo "OBJECTSDIR $(objectsdir)"
@echo "PDDOCDIR $(pddocdir)"
@echo "LIBPDDIR $(libpddir)"
@echo "LIBPDBINDIR $(libpdbindir)"
@echo "HELPDIR $(helpdir)"
@echo "MANUALSDIR $(manualsdir)"
@echo "EXAMPLESDIR $(examplesdir)"
|