File: Makefile

package info (click to toggle)
openzwave 1.6.1545%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 30,444 kB
  • sloc: xml: 75,886; cpp: 64,941; ansic: 5,228; makefile: 712; perl: 596; sh: 168
file content (95 lines) | stat: -rw-r--r-- 2,748 bytes parent folder | download | duplicates (4)
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
#
# Makefile for OpenzWave Mac OS X applications
# Greg Satz

# GNU make only

# requires libudev-dev

.SUFFIXES:	.d .cpp .o .a
.PHONY:	default clean


DEBUG_CFLAGS    := -Wall -Wno-format -ggdb -DDEBUG $(CPPFLAGS) -std=c++11 
RELEASE_CFLAGS  := -Wall -Wno-unknown-pragmas -Wno-format -O3 $(CPPFLAGS) -std=c++11 

DEBUG_LDFLAGS	:= -g

top_srcdir := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))../../../)

#where is put the temporary library
LIBDIR  	?= $(top_builddir)

INCLUDES	:= -I $(top_srcdir)/cpp/src -I $(top_srcdir)/cpp/tinyxml/ -I $(top_srcdir)/cpp/hidapi/hidapi/
LIBS =  $(wildcard $(LIBDIR)/*.so $(LIBDIR)/*.dylib $(top_builddir)/cpp/build/*.so $(top_builddir)/cpp/build/*.dylib )
LIBSDIR = $(abspath $(dir $(firstword $(LIBS))))
minozwsrc := $(notdir $(wildcard $(top_srcdir)/cpp/examples/MinOZW/*.cpp))
VPATH := $(top_srcdir)/cpp/examples/MinOZW

top_builddir ?= $(CURDIR)

default: $(top_builddir)/MinOZW

include $(top_srcdir)/cpp/build/support.mk

-include $(patsubst %.cpp,$(DEPDIR)/%.d,$(minozwsrc))

#if we are on a Mac, add these flags and libs to the compile and link phases 
ifeq ($(UNAME),Darwin)
CFLAGS += -DDARWIN
ifeq ($(DARWIN_MOJAVE_UP),1)
# Newer macOS releases don't support i386 so only build 64-bit
TARCH	+= -arch x86_64
else
# Support older versions of OSX that may need to build both 32-bit and 64-bit
TARCH	+= -arch i386 -arch x86_64
endif
endif

# Dup from main makefile, but that is not included when building here..
ifeq ($(UNAME),FreeBSD)
LDFLAGS+= -lusb

ifeq ($(shell test $$(uname -U) -ge 1002000; echo $$?),1)
ifeq (,$(wildcard /usr/local/include/iconv.h))
$(error FreeBSD pre 10.2: Please install libiconv from ports)
else
CFLAGS += -I/usr/local/include
LDFLAGS+= -L/usr/local/lib -liconv
endif
endif

else ifeq ($(UNAME),NetBSD)
LDFLAGS+= -L/usr/pkg/lib -lusb-1.0
else ifeq ($(UNAME),SunOS)
LDFLAGS+= -lusb-1.0
endif

$(OBJDIR)/MinOZW:	$(patsubst %.cpp,$(OBJDIR)/%.o,$(minozwsrc))
	@echo "Linking MinOZW"
	@$(LD) $(LDFLAGS) $(TARCH) -o $@ $< $(LIBS) -pthread

$(top_builddir)/MinOZW: $(top_srcdir)/cpp/examples/MinOZW/MinOZW.in $(OBJDIR)/MinOZW
	@echo "Creating Temporary Shell Launch Script"
	@$(SED) \
		-e 's|[@]LDPATH@|$(LIBSDIR)|g' \
		< "$<" > "$@"
	@chmod +x $(top_builddir)/MinOZW

clean:
	@rm -rf $(DEPDIR) $(OBJDIR) $(top_builddir)/MinOZW

ifeq ($(XMLLINT),)
xmltest:	$(XMLLINT)
	$(error xmllint command not found.)
else
xmltest:	$(XMLLINT)
	@$(XMLLINT) --noout --schema ../../../config/zwcfg.xsd zwcfg_*.xml
	@$(XMLLINT) --noout --schema ../../../config/zwscene.xsd zwscene.xml
endif

install: $(OBJDIR)/MinOZW
	@echo "Installing into Prefix: $(PREFIX)"
	@install -d $(DESTDIR)/$(PREFIX)/bin/
	@cp $(OBJDIR)/MinOZW $(DESTDIR)/$(PREFIX)/bin/MinOZW
	@chmod 755 $(DESTDIR)/$(PREFIX)/bin/MinOZW