Created
June 16, 2016 23:28
-
-
Save rbaindourov/41c8fb7034ab2db2c5f2b8fb4c36fc3d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Makefile for OpenzWave Control Panel application | |
# Greg Satz | |
# GNU make only | |
.SUFFIXES: .cpp .o .a .s | |
CC := $(CROSS_COMPILE)gcc | |
CXX := $(CROSS_COMPILE)g++ | |
LD := $(CROSS_COMPILE)g++ | |
AR := $(CROSS_COMPILE)ar rc | |
RANLIB := $(CROSS_COMPILE)ranlib | |
DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-inline -Werror -Wno-format -g -DDEBUG -ggdb -O0 | |
RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Werror -Wno-format -O3 -DNDEBUG | |
DEBUG_LDFLAGS := -g | |
# Change for DEBUG or RELEASE | |
CFLAGS := -c $(DEBUG_CFLAGS) | |
LDFLAGS := $(DEBUG_LDFLAGS) | |
OPENZWAVE := ../open-zwave | |
LIBMICROHTTPD := -lmicrohttpd | |
INCLUDES := -I $(OPENZWAVE)/cpp/src -I $(OPENZWAVE)/cpp/src/command_classes/ \ | |
-I $(OPENZWAVE)/cpp/src/value_classes/ -I $(OPENZWAVE)/cpp/src/platform/ \ | |
-I $(OPENZWAVE)/cpp/src/platform/unix -I $(OPENZWAVE)/cpp/tinyxml/ \ | |
-I ../libmicrohttpd/src/include | |
# Remove comment below for gnutls support | |
GNUTLS := -lgnutls | |
# for Linux uncomment out next three lines | |
LIBZWAVE := $(wildcard $(OPENZWAVE)/*.a) | |
#LIBUSB := -ludev | |
#LIBS := $(LIBZWAVE) $(GNUTLS) $(LIBMICROHTTPD) -pthread $(LIBUSB) | |
# for Mac OS X comment out above 2 lines and uncomment next 5 lines | |
ARCH := -arch i386 -arch x86_64 | |
CFLAGS := $(ARCH) | |
#LIBZWAVE := $(wildcard $(OPENZWAVE)/cpp/lib/mac/*.a) | |
LIBUSB := -framework IOKit -framework CoreFoundation | |
LIBS := $(LIBZWAVE) $(GNUTLS) $(LIBMICROHTTPD) -pthread $(LIBUSB) $(ARCH) | |
%.o : %.cpp | |
$(CXX) $(CFLAGS) $(INCLUDES) -o $@ $< | |
%.o : %.c | |
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $< | |
all: defs ozwcp | |
defs: | |
ifeq ($(LIBZWAVE),) | |
@echo Please edit the Makefile to avoid this error message. | |
@exit 1 | |
endif | |
ozwcp.o: ozwcp.h webserver.h $(OPENZWAVE)/cpp/src/Options.h $(OPENZWAVE)/cpp/src/Manager.h \ | |
$(OPENZWAVE)/cpp/src/Node.h $(OPENZWAVE)/cpp/src/Group.h \ | |
$(OPENZWAVE)/cpp/src/Notification.h $(OPENZWAVE)/cpp/src/platform/Log.h | |
webserver.o: webserver.h ozwcp.h $(OPENZWAVE)/cpp/src/Options.h $(OPENZWAVE)/cpp/src/Manager.h \ | |
$(OPENZWAVE)/cpp/src/Node.h $(OPENZWAVE)/cpp/src/Group.h \ | |
$(OPENZWAVE)/cpp/src/Notification.h $(OPENZWAVE)/cpp/src/platform/Log.h | |
ozwcp: ozwcp.o webserver.o zwavelib.o $(LIBZWAVE) | |
$(LD) -o $@ $(LDFLAGS) ozwcp.o webserver.o zwavelib.o $(LIBS) | |
dist: ozwcp | |
rm -f ozwcp.tar.gz | |
tar -c --exclude=".svn" -hvzf ozwcp.tar.gz ozwcp config/ cp.html cp.js openzwavetinyicon.png README | |
clean: | |
rm -f ozwcp *.o |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment