Merge pull request #23 from RS7-EdgeComputing/EDGE-247-tmp
[platform/core/system/edge-orchestration.git] / Makefile
index 349cdfc..1f46d76 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,15 +8,24 @@ GOCOVER     := gocov
 GO_LDFLAGS  := -ldflags '-extldflags "-static"'
 
 # Target parameters
+BIN_DIR        := $(BASE_DIR)/bin
 BINARY_FILE    := edge-orchestration
-OBJECT_FILE            := liborchestration.so
-HEADER_FILE            := orchestration.h
 EXEC_SRC_DIR    := GoMain
 OBJ_SRC_DIR            := interface
-BIN_DIR        := $(BASE_DIR)/bin
-CMAIN_DIR              := $(BASE_DIR)/src/CMain
 PKG_DIRS               := devicemgr discoverymgr interface restapi/v1 servicemgr
 
+# CMain target
+ORG_HEADER_FILE_C      := liborchestration.h
+HEADER_FILE_C  := orchestration.h
+OBJECT_FILE_C  := liborchestration.a
+CMAIN_DIR              := $(BASE_DIR)/src/CMain
+CMAIN_INC_DIR  := $(CMAIN_DIR)/inc
+CMAIN_BIN_DIR  := $(CMAIN_DIR)/bin
+CMAIN_LIB_DIR  := $(CMAIN_DIR)/lib
+
+
+
+
 .DEFAULT_GOAL := help
 
 ## test and build
@@ -27,15 +36,12 @@ build-binary:
        $(GOBUILD) -a $(GO_LDFLAGS) -o $(BIN_DIR)/$(BINARY_FILE) $(EXEC_SRC_DIR) || exit 1
        ls -al $(BIN_DIR)
 
+       $(MAKE) -C $(CMAIN_DIR)
+
 ## edge-orchestration shared object build
 build-object:
-       CGO_ENABLED=1 $(GOBUILD) -o $(BIN_DIR)/$(OBJECT_FILE) -buildmode=c-shared -linkshared $(OBJ_SRC_DIR) || exit 1
-       ls -al $(BIN_DIR)
-
-       rm -f $(CMAIN_DIR)/$(OBJECT_FILE)
-       rm -f $(CMAIN_DIR)/$(HEADER_FILE)
-       cp $(BIN_DIR)/$(OBJECT_FILE) $(CMAIN_DIR)
-       cp $(BIN_DIR)/$(HEADER_FILE) $(CMAIN_DIR)
+       CGO_ENABLED=1 $(GOBUILD) -o $(CMAIN_LIB_DIR)/$(OBJECT_FILE_C) -buildmode=c-archive $(OBJ_SRC_DIR) || exit 1
+       mv $(CMAIN_LIB_DIR)/$(ORG_HEADER_FILE_C) $(CMAIN_INC_DIR)/$(HEADER_FILE_C)
 
 ## go test and coverage
 test:
@@ -47,7 +53,9 @@ test:
 ## build clean
 clean:
        $(GOCLEAN)
-       rm -f $(BIN_DIR)/*
+       -rm -f $(CMAIN_INC_DIR)/$(HEADER_FILE_C)
+       -rm -f $(CMAIN_LIB_DIR)/$(OBJECT_FILE_C)
+       -rm -f $(BIN_DIR)/*
 
 ## check go style and static analysis
 lint: