first working after conversion from PListCPP to libplist
This commit is contained in:
parent
ef60e64564
commit
c2c6fcd1d2
211
makefile
211
makefile
@ -1,142 +1,95 @@
|
|||||||
SDKNAME =bella_scene_sdk
|
# Project configuration
|
||||||
OUTNAME =vmax2bella
|
BELLA_SDK_NAME = bella_scene_sdk
|
||||||
UNAME =$(shell uname)
|
EXECUTABLE_NAME = vmax2bella
|
||||||
|
PLATFORM = $(shell uname)
|
||||||
|
|
||||||
ifeq ($(UNAME), Darwin)
|
# Common paths
|
||||||
|
BELLA_SDK_PATH = ../bella_scene_sdk
|
||||||
|
LZFSE_PATH = ../lzfse
|
||||||
|
LIBPLIST_PATH = ../libplist
|
||||||
|
OBJ_DIR = obj/$(PLATFORM)
|
||||||
|
BIN_DIR = bin/$(PLATFORM)
|
||||||
|
OUTPUT_FILE = $(BIN_DIR)/$(EXECUTABLE_NAME)
|
||||||
|
|
||||||
SDKBASE = ../bella_scene_sdk
|
# Platform-specific configuration
|
||||||
|
ifeq ($(PLATFORM), Darwin)
|
||||||
SDKFNAME = lib$(SDKNAME).dylib
|
# macOS configuration
|
||||||
LZFSELIBNAME = liblzfse.dylib
|
SDK_LIB_EXT = dylib
|
||||||
INCLUDEDIRS = -I$(SDKBASE)/src
|
LZFSE_LIB_NAME = liblzfse.$(SDK_LIB_EXT)
|
||||||
INCLUDEDIRS2 = -I../lzfse/src
|
PLIST_LIB_NAME = libplist-2.0.4.$(SDK_LIB_EXT)
|
||||||
INCLUDEDIRS3 = -I../PlistCpp/include
|
MACOS_SDK_PATH = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
|
||||||
INCLUDEDIRS4 = -I../PlistCpp/src
|
|
||||||
LIBDIR = $(SDKBASE)/lib
|
# Compiler settings
|
||||||
LIBDIRS = -L$(LIBDIR)
|
CC = clang
|
||||||
LZFSEBUILDDIR = ../lzfse/build
|
CXX = clang++
|
||||||
LZFSELIBDIR = -L$(LZFSEBUILDDIR)
|
|
||||||
PLISTDIR = ../PlistCpp/build
|
# Architecture flags
|
||||||
PLISTLIBDIR = -L$(PLISTDIR)
|
ARCH_FLAGS = -arch x86_64 -arch arm64 -mmacosx-version-min=11.0 -isysroot $(MACOS_SDK_PATH)
|
||||||
OBJDIR = obj/$(UNAME)
|
|
||||||
BINDIR = bin/$(UNAME)
|
# Linking flags
|
||||||
OUTPUT = $(BINDIR)/$(OUTNAME)
|
LINKER_FLAGS = $(ARCH_FLAGS) -framework Cocoa -framework IOKit -fvisibility=hidden -O5 -rpath @executable_path
|
||||||
|
|
||||||
ISYSROOT = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
|
# Platform-specific libraries
|
||||||
|
PLIST_LIB = -lplist-2.0
|
||||||
CC = clang
|
|
||||||
CXX = clang++
|
|
||||||
|
|
||||||
CCFLAGS = -arch x86_64\
|
|
||||||
-arch arm64\
|
|
||||||
-mmacosx-version-min=11.0\
|
|
||||||
-isysroot $(ISYSROOT)\
|
|
||||||
-fvisibility=hidden\
|
|
||||||
-O3\
|
|
||||||
$(INCLUDEDIRS)\
|
|
||||||
$(INCLUDEDIRS2)\
|
|
||||||
$(INCLUDEDIRS3)\
|
|
||||||
$(INCLUDEDIRS4)
|
|
||||||
|
|
||||||
CFLAGS = $(CCFLAGS)\
|
|
||||||
-std=c17
|
|
||||||
|
|
||||||
CXXFLAGS = $(CCFLAGS)\
|
|
||||||
-std=c++17\
|
|
||||||
-Wno-deprecated-declarations
|
|
||||||
|
|
||||||
CPPDEFINES = -DNDEBUG=1\
|
|
||||||
-DDL_USE_SHARED
|
|
||||||
|
|
||||||
LIBS = -l$(SDKNAME)\
|
|
||||||
-lm\
|
|
||||||
-ldl\
|
|
||||||
-llzfse\
|
|
||||||
$(PLISTDIR)/libplist.a
|
|
||||||
|
|
||||||
LINKFLAGS = -mmacosx-version-min=11.0\
|
|
||||||
-isysroot $(ISYSROOT)\
|
|
||||||
-framework Cocoa\
|
|
||||||
-framework IOKit\
|
|
||||||
-fvisibility=hidden\
|
|
||||||
-O5\
|
|
||||||
-rpath @executable_path
|
|
||||||
else
|
else
|
||||||
|
# Linux configuration
|
||||||
SDKBASE = ../bella_scene_sdk
|
SDK_LIB_EXT = so
|
||||||
|
LZFSE_LIB_NAME = liblzfse.$(SDK_LIB_EXT)
|
||||||
SDKFNAME = lib$(SDKNAME).so
|
PLIST_LIB_NAME = libplist.$(SDK_LIB_EXT)
|
||||||
SDKFNAME2 = liblzfse.so
|
|
||||||
INCLUDEDIRS = -I$(SDKBASE)/src
|
# Compiler settings
|
||||||
INCLUDEDIRS2 = -I../lzfse/src
|
CC = gcc
|
||||||
INCLUDEDIRS3 = -I../PlistCpp/include
|
CXX = g++
|
||||||
INCLUDEDIRS4 = -I../PlistCpp/src
|
|
||||||
LIBDIR = $(SDKBASE)/lib
|
# Architecture flags
|
||||||
LIBDIRS = -L$(LIBDIR)
|
ARCH_FLAGS = -m64 -D_FILE_OFFSET_BITS=64
|
||||||
LZFSEBUILDDIR = ../lzfse/build
|
|
||||||
LZFSELIBDIR = -L$(LZFSEBUILDDIR)
|
# Linking flags
|
||||||
PLISTDIR = ../PlistCpp/build
|
LINKER_FLAGS = $(ARCH_FLAGS) -fvisibility=hidden -O3 -Wl,-rpath,'$$ORIGIN' -Wl,-rpath,'$$ORIGIN/lib'
|
||||||
PLISTLIBDIR = -L$(PLISTDIR)
|
|
||||||
OBJDIR = obj/$(UNAME)
|
# Platform-specific libraries
|
||||||
BINDIR = bin/$(UNAME)
|
PLIST_LIB = -lplist
|
||||||
OUTPUT = $(BINDIR)/$(OUTNAME)
|
|
||||||
|
|
||||||
CC = gcc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
CCFLAGS = -m64\
|
|
||||||
-Wall\
|
|
||||||
-fvisibility=hidden\
|
|
||||||
-D_FILE_OFFSET_BITS=64\
|
|
||||||
-O3\
|
|
||||||
$(INCLUDEDIRS)\
|
|
||||||
$(INCLUDEDIRS2)\
|
|
||||||
$(INCLUDEDIRS3)\
|
|
||||||
$(INCLUDEDIRS4)
|
|
||||||
|
|
||||||
|
|
||||||
CFLAGS = $(CCFLAGS)\
|
|
||||||
-std=c11
|
|
||||||
|
|
||||||
CXXFLAGS = $(CCFLAGS)\
|
|
||||||
-std=c++11
|
|
||||||
|
|
||||||
CPPDEFINES = -DNDEBUG=1\
|
|
||||||
-DDL_USE_SHARED
|
|
||||||
|
|
||||||
LIBS = -l$(SDKNAME)\
|
|
||||||
-lm\
|
|
||||||
-ldl\
|
|
||||||
-lrt\
|
|
||||||
-lpthread\
|
|
||||||
-llzfse\
|
|
||||||
$(PLISTDIR)/libplist.a
|
|
||||||
|
|
||||||
LINKFLAGS = -m64\
|
|
||||||
-fvisibility=hidden\
|
|
||||||
-O3\
|
|
||||||
-Wl,-rpath,'$$ORIGIN'\
|
|
||||||
-Wl,-rpath,'$$ORIGIN/lib'
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJS = vmax2bella.o
|
# Common include and library paths
|
||||||
OBJ = $(patsubst %,$(OBJDIR)/%,$(OBJS))
|
INCLUDE_PATHS = -I$(BELLA_SDK_PATH)/src -I$(LZFSE_PATH)/src -I$(LIBPLIST_PATH)/include
|
||||||
|
SDK_LIB_PATH = $(BELLA_SDK_PATH)/lib
|
||||||
|
SDK_LIB_FILE = lib$(BELLA_SDK_NAME).$(SDK_LIB_EXT)
|
||||||
|
LZFSE_BUILD_DIR = $(LZFSE_PATH)/build
|
||||||
|
PLIST_LIB_DIR = $(LIBPLIST_PATH)/src/.libs
|
||||||
|
|
||||||
# Define the path to the precompiled pugixml.o
|
# Library flags
|
||||||
PUGIXML_OBJ = pugixml/bin/$(UNAME)/pugixml.o
|
LIB_PATHS = -L$(SDK_LIB_PATH) -L$(LZFSE_BUILD_DIR) -L$(PLIST_LIB_DIR)
|
||||||
|
LIBRARIES = -l$(BELLA_SDK_NAME) -lm -ldl -llzfse $(PLIST_LIB)
|
||||||
|
|
||||||
$(OBJDIR)/%.o: %.cpp
|
# Common compiler flags
|
||||||
|
COMMON_FLAGS = $(ARCH_FLAGS) -fvisibility=hidden -O3 $(INCLUDE_PATHS)
|
||||||
|
|
||||||
|
# Language-specific flags
|
||||||
|
C_FLAGS = $(COMMON_FLAGS) -std=c17
|
||||||
|
CXX_FLAGS = $(COMMON_FLAGS) -std=c++17 -Wno-deprecated-declarations
|
||||||
|
CPP_DEFINES = -DNDEBUG=1 -DDL_USE_SHARED
|
||||||
|
|
||||||
|
# Objects
|
||||||
|
OBJECTS = vmax2bella.o
|
||||||
|
OBJECT_FILES = $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
|
||||||
|
|
||||||
|
# Build rules
|
||||||
|
$(OBJ_DIR)/%.o: %.cpp
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
$(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPDEFINES)
|
$(CXX) -c -o $@ $< $(CXX_FLAGS) $(CPP_DEFINES)
|
||||||
|
|
||||||
$(OUTPUT): $(OBJ) $(PUGIXML_OBJ)
|
$(OUTPUT_FILE): $(OBJECT_FILES)
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
$(CXX) -o $@ $(OBJ) $(PUGIXML_OBJ) $(LINKFLAGS) $(LIBDIRS) $(LZFSELIBDIR) $(LIBS)
|
$(CXX) -o $@ $(OBJECT_FILES) $(LINKER_FLAGS) $(LIB_PATHS) $(LIBRARIES)
|
||||||
@cp $(LIBDIR)/$(SDKFNAME) $(BINDIR)/$(SDKFNAME)
|
@cp $(SDK_LIB_PATH)/$(SDK_LIB_FILE) $(BIN_DIR)/$(SDK_LIB_FILE)
|
||||||
@cp $(LZFSEBUILDDIR)/$(LZFSELIBNAME) $(BINDIR)/$(LZFSELIBNAME)
|
@cp $(LZFSE_BUILD_DIR)/$(LZFSE_LIB_NAME) $(BIN_DIR)/$(LZFSE_LIB_NAME)
|
||||||
|
@cp $(PLIST_LIB_DIR)/$(PLIST_LIB_NAME) $(BIN_DIR)
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f $(OBJDIR)/*.o
|
rm -f $(OBJ_DIR)/*.o
|
||||||
rm -f $(OUTPUT)
|
rm -f $(OUTPUT_FILE)
|
||||||
rm -f $(BINDIR)/$(SDKFNAME)
|
rm -f $(BIN_DIR)/$(SDK_LIB_FILE)
|
||||||
|
rm -f $(BIN_DIR)/*.dylib
|
||||||
|
|||||||
2953
vmax2bella.cpp
2953
vmax2bella.cpp
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user