Adds ncursesw support.
This commit is contained in:
25
Makefile
25
Makefile
@@ -14,14 +14,16 @@ else
|
||||
ASAN_FLAGS=
|
||||
endif
|
||||
|
||||
INCLUDE_DIRS = sbf-cpp
|
||||
INCLUDES = $(patsubst %, -I%, $(INCLUDE_DIRS))
|
||||
LIBRARY_DIRS =
|
||||
LIBRARIES = $(patsubst %, -L%, $(LIBRARY_DIRS)) -lncurses
|
||||
BREW86_PREFIX := $(shell arch -x86_64 /usr/local/homebrew/bin/brew --prefix)
|
||||
BREW_PREFIX := $(shell brew --prefix)
|
||||
INCLUDE_DIRS = sbf-cpp $(BREW_PREFIX)/opt/ncurses/include
|
||||
INCLUDES := $(patsubst %, -I%, $(INCLUDE_DIRS))
|
||||
LIBRARY_DIRS = $(BUILD_DIR)/lib
|
||||
LIBRARIES := $(patsubst %, -L%, $(LIBRARY_DIRS)) -lncurses
|
||||
FRAMEWORK_NAMES =
|
||||
FRAMEWORKS = $(patsubst %, -framework %, $(FRAMEWORK_NAMES))
|
||||
FRAMEWORKS := $(patsubst %, -framework %, $(FRAMEWORK_NAMES))
|
||||
ARCHS = -arch arm64 -arch x86_64
|
||||
CCFLAGS := -std=c++17 -Wall -fno-objc-arc $(INCLUDES) $(DBG_OPT_FLAGS) $(ASAN_FLAGS) $(ARCHS)
|
||||
CCFLAGS := -std=c++17 -Wall -fno-objc-arc -finput-charset=UTF-8 $(INCLUDES) $(DBG_OPT_FLAGS) $(ASAN_FLAGS) $(ARCHS)
|
||||
LDFLAGS := $(LIBRARIES) $(FRAMEWORKS) $(ARCHS) $(DBG_OPT_FLAGS) $(ASAN_FLAGS)
|
||||
CC = clang++
|
||||
LD = clang++
|
||||
@@ -33,6 +35,7 @@ BUNDLEIDENTIFIER = com.majinnaibu.test.$(APPNAME)
|
||||
BUNDLESIGNATURE = SBF_
|
||||
RESOURCES_DIR = Resources
|
||||
APP_OBJECTS = main.o
|
||||
FAT_LIBS = ncurses
|
||||
|
||||
MANDATORY_TARGETS = Makefile
|
||||
|
||||
@@ -44,12 +47,16 @@ clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
mkdir -p $(BUILD_DIR)
|
||||
mkdir -p $(BUILD_DIR)/Contents
|
||||
mkdir -p $(BUILD_DIR)/lib
|
||||
mkdir -p $(BUNDLEFOLDER)/Contents/MacOS
|
||||
mkdir -p $(BUNDLEFOLDER)/Contents/Resources
|
||||
|
||||
test: clean all
|
||||
./$(BUILD_DIR)/$(CLIAPPNAME)
|
||||
|
||||
run: $(BUILD_DIR)/$(CLIAPPNAME)
|
||||
$(BUILD_DIR)/$(CLIAPPNAME)
|
||||
|
||||
# Main app
|
||||
app: $(BUILD_DIR)/$(CLIAPPNAME) $(SRC_DIR)/Info.plist $(RESOURCES_DIR)/en-US.lproj/InfoPlist.strings $(MANDATORY_TARGETS)
|
||||
cp $(SRC_DIR)/Info.plist $(BUILD_DIR)/Contents/Info.plist
|
||||
@@ -61,8 +68,12 @@ app: $(BUILD_DIR)/$(CLIAPPNAME) $(SRC_DIR)/Info.plist $(RESOURCES_DIR)/en-US.lpr
|
||||
cp $(BUILD_DIR)/$(CLIAPPNAME) $(BUNDLEFOLDER)/Contents/MacOS/$(APPNAME)
|
||||
cp -r $(RESOURCES_DIR)/* $(BUNDLEFOLDER)/Contents/Resources/
|
||||
|
||||
$(BUILD_DIR)/$(CLIAPPNAME): $(patsubst %, $(BUILD_DIR)/%, $(APP_OBJECTS)) $(MANDATORY_TARGETS)
|
||||
$(BUILD_DIR)/$(CLIAPPNAME): $(patsubst %, $(BUILD_DIR)/%, $(APP_OBJECTS)) $(patsubst %, $(BUILD_DIR)/lib/lib%.a, $(FAT_LIBS)) $(MANDATORY_TARGETS)
|
||||
$(LD) $(LDFLAGS) -o $@ $(patsubst %, $(BUILD_DIR)/%, $(APP_OBJECTS))
|
||||
|
||||
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp $(SRC_DIR)/*.h $(MANDATORY_TARGETS)
|
||||
$(CC) $(CCFLAGS) -c -o $@ $<
|
||||
|
||||
# We make our own fat libs cause homebrew sucks
|
||||
$(BUILD_DIR)/lib/libncurses.a: $(BREW_PREFIX)/opt/ncurses/lib $(BREW86_PREFIX)/opt/ncurses/lib
|
||||
lipo -create -output ./build/lib/libncurses.a $(BREW_PREFIX)/opt/ncurses/lib/libncurses.a $(BREW86_PREFIX)/opt/ncurses/lib/libncurses.a
|
||||
|
||||
Reference in New Issue
Block a user