# override with `make BUILD=release`
# default to release build
BUILD := release
+PLATFORM := linux
CXX := g++
#CXX := clang
-OUT_DIR := $(PWD)/$(BUILD)
+OUT_DIR := $(BUILD)
CXX_FLAGS.debug := -O0 -g3 -std=c++0x -Wall -pthread
CXX_INC := -I../include/
CXX_INC += -I../oc_logger/include
-
CXX_INC += -I../csdk/stack/include
CXX_INC += -I../csdk/ocsocket/include
CXX_INC += -I../csdk/ocrandom/include
LIB_OC_LOGGER := ../oc_logger/lib/oc_logger.a
-CXX_LIBS := ../$(BUILD)/obj/liboc.a ../csdk/$(BUILD)/liboctbstack.a $(LIB_OC_LOGGER)
-
-APPS += simpleserver
-APPS += simpleclient
-APPS += simpleclientserver
-APPS += roomserver
-APPS += roomclient
-APPS += presenceserver
-APPS += presenceclient
-APPS += garageserver
-APPS += garageclient
-APPS += ocicuc
+CXX_LIBS := ../$(BUILD)/obj/liboc.a ../csdk/$(PLATFORM)/$(BUILD)/liboctbstack.a $(LIB_OC_LOGGER)
# Force metatargets to build:
-.PHONY: prep_dirs oc_cpp_sdk $(APPS)
+all.PHONY: prep_dirs oc_cpp_sdk simpleserver simpleclient simpleclientserver roomserver roomclient presenceserver presenceclient garageserver garageclient fridgeserver fridgeclient ocicuc_target
+
+apps.PHONY: prep_dirs oc_cpp_sdk simpleserver simpleclient simpleclientserver roomserver roomclient presenceserver presenceclient garageserver garageclient fridgeserver fridgeclient
+
+buildScript_all.PHONY: prep_dirs simpleserver simpleclient simpleclientserver roomserver roomclient presenceserver presenceclient garageserver garageclient fridgeserver fridgeclient
-all: .PHONY
+all: all.PHONY
-apps: prep_dirs $(APPS)
+apps: apps.PHONY
+
+buildScript_all: buildScript_all.PHONY
prep_dirs:
-mkdir -p $(OUT_DIR)
-
+
oc_cpp_sdk:
cd ../ && $(MAKE) cpp_sdk "BUILD=$(BUILD)"
garageclient: garageclient.cpp
$(CXX) $(CXX_FLAGS.$(BUILD)) -o $(OUT_DIR)/$@ garageclient.cpp $(CXX_INC) $(CXX_LIBS)
-ocicuc:
+ocicuc_target:
cd ocicuc && $(MAKE) apps
-
-clean:
- rm -rf $(OUT_DIR)
+
+clean:
+ rm -rf debug
+ rm -rf release
cd ../ && $(MAKE) clean_cpp_sdk
cd ocicuc && $(MAKE) clean_apps
clean_apps:
- rm -rf $(OUT_DIR)
+ rm -rf debug
+ rm -rf release
cd ocicuc && $(MAKE) clean_apps