Blame | Last modification | View Log | Download
## Makefile for OpenzWave Mac OS X applications# Greg Satz# GNU make only# requires libudev-dev.SUFFIXES: .d .cpp .o .a.PHONY: default clean# 2019-10 added this test because there are path issues, hings go wrong when you try to run# "make" in the cpp/test subdirectory. One of the offending statements is "top_builddir ?= $(CURDIR)"# Needs some work to get a proper fix.ifeq ($(top_builddir),)$(error Variable top_builddir is undefined, please run "make" from root of OpenzWave repository only.)endifCOMMON_FLAGS := -std=c++11 -Wall -Wno-unknown-pragmas -Wsign-compareDEBUG_CFLAGS := -ggdb -DDEBUG $(CPPFLAGS) $(COMMON_FLAGS)RELEASE_CFLAGS := -O3 $(CPPFLAGS) $(COMMON_FLAGS)DEBUG_LDFLAGS := -gtop_srcdir := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))../../)#where is put the temporary libraryLIBDIR ?= $(top_builddir)INCLUDES := -I $(top_srcdir)/cpp/test/ -I $(top_srcdir)/cpp/test/include/ -I $(top_srcdir)/cpp/src -I $(top_srcdir)/cpp/tinyxml/ -I $(top_srcdir)/cpp/hidapi/hidapi/OZW_LIB = $(wildcard $(LIBDIR)/*.a )LIBS = $(OZW_LIB)ifneq ($(UNAME),FreeBSD)LIBS += -lresolvendif#LIBSDIR = $(abspath $(dir $(firstword $(LIBS))))SOURCES := $(top_srcdir)/cpp/test/src/ $(top_srcdir)/cpp/test/gtestsrc := $(notdir $(wildcard $(top_srcdir)/cpp/test/src/*.cc))testsrc := $(notdir $(wildcard $(top_srcdir)/cpp/test/*.cpp))VPATH := $(top_srcdir)/cpp/test/:$(top_srcdir)/cpp/test/src/top_builddir ?= $(CURDIR)default: $(top_builddir)/gtest-maininclude $(top_srcdir)/cpp/build/support.mk-include $(patsubst %.cc,$(DEPDIR)/%.d,$(gtestsrc))-include $(patsubst %.cpp,$(DEPDIR)/%.d,$(testsrc))#if we are on a Mac, add these flags and libs to the compile and link phasesifeq ($(UNAME),Darwin)CFLAGS += -DDARWINTARCH += -arch x86_64endif# Dup from main makefile, but that is not included when building here..ifeq ($(UNAME),FreeBSD)LDFLAGS+= -lusbifeq ($(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)elseCFLAGS += -I/usr/local/includeLDFLAGS+= -L/usr/local/lib -liconvendifendifendif$(OBJDIR)/%.o : %.cc@echo "Building $(notdir $@)"@$(CXX) -MM $(CFLAGS) $(INCLUDES) $< > $(DEPDIR)/$*.d@mv -f $(DEPDIR)/$*.d $(DEPDIR)/$*.d.tmp@$(SED) -e 's|.*:|$(OBJDIR)/$*.o: $(DEPDIR)/$*.d|' < $(DEPDIR)/$*.d.tmp > $(DEPDIR)/$*.d;@$(SED) -e 's/.*://' -e 's/\\$$//' < $(DEPDIR)/$*.d.tmp | fmt -1 | \$(SED) -e 's/^ *//' -e 's/$$/:/' >> $(DEPDIR)/.$*.d;@rm -f $(DEPDIR)/$*.d.tmp@$(CXX) $(CFLAGS) $(TARCH) $(INCLUDES) -o $@ $<$(top_builddir)/gtest-main: $(patsubst %.cc,$(OBJDIR)/%.o,$(gtestsrc)) \$(patsubst %.cpp,$(OBJDIR)/%.o,$(testsrc)) $(OZW_LIB)@echo "Linking $@"@$(LD) $(LDFLAGS) $(TARCH) -o $@ $+ $(LIBS) -pthreadtest: $(top_builddir)/gtest-main$(top_builddir)/gtest-mainclean:@rm -rf $(DEPDIR) $(OBJDIR) $(top_builddir)/gtest-main.SUFFIXES: .d .cpp .cc .o .a