makefile_base.mak: Finish freetype build steps for OS X

This commit is contained in:
John Schoenick 2018-08-29 15:28:04 -07:00
parent 303c9d680c
commit fc98b7b36a

View File

@ -144,6 +144,8 @@ DST_DIR := $(DST_BASE)/dist
FREETYPE := $(SRCDIR)/freetype2 FREETYPE := $(SRCDIR)/freetype2
FREETYPE_OBJ32 := ./obj-freetype32 FREETYPE_OBJ32 := ./obj-freetype32
FREETYPE_OBJ64 := ./obj-freetype64 FREETYPE_OBJ64 := ./obj-freetype64
FREETYPE_OUT64 := $(TOOLS_DIR64)/lib/libprotonfreetype.dylib
FREETYPE_OUT32 := $(TOOLS_DIR32)/lib/libprotonfreetype.dylib
OPENAL := $(SRCDIR)/openal-soft OPENAL := $(SRCDIR)/openal-soft
OPENAL_OBJ32 := ./obj-openal32 OPENAL_OBJ32 := ./obj-openal32
@ -211,8 +213,6 @@ $(OBJ_DIRS):
## Targets ## Targets
## ##
# TODO OS X targets freetype
.PHONY: all all64 all32 default .PHONY: all all64 all32 default
# Produce a working dist directory by default # Produce a working dist directory by default
@ -323,7 +323,7 @@ install: dist
## freetype ## freetype
## ##
# TODO OS X, not final ifeq ($(OSX),1) # currently only for OS X builds
## Autogen steps for freetype ## Autogen steps for freetype
FREETYPE_AUTOGEN_FILES := $(FREETYPE)/builds/unix/configure FREETYPE_AUTOGEN_FILES := $(FREETYPE)/builds/unix/configure
@ -333,30 +333,29 @@ $(FREETYPE_AUTOGEN_FILES): $(FREETYPE)/builds/unix/configure.raw $(FREETYPE)/aut
## Create & configure object directory for freetype ## Create & configure object directory for freetype
# TODO --prefix="$TOOLS_DIR32"
FREETYPE_CONFIGURE_FILES32 := $(FREETYPE_OBJ32)/unix-cc.mk $(FREETYPE_OBJ32)/Makefile FREETYPE_CONFIGURE_FILES32 := $(FREETYPE_OBJ32)/unix-cc.mk $(FREETYPE_OBJ32)/Makefile
FREETYPE_CONFIGURE_FILES64 := $(FREETYPE_OBJ64)/unix-cc.mk $(FREETYPE_OBJ64)/Makefile FREETYPE_CONFIGURE_FILES64 := $(FREETYPE_OBJ64)/unix-cc.mk $(FREETYPE_OBJ64)/Makefile
# 64-bit configure # 64-bit configure
# TODO --prefix="$TOOLS_DIR64"
$(FREETYPE_CONFIGURE_FILES64): $(FREETYPE_AUTOGEN_FILES) $(MAKEFILE_DEP) | $(FREETYPE_OBJ64) $(FREETYPE_CONFIGURE_FILES64): $(FREETYPE_AUTOGEN_FILES) $(MAKEFILE_DEP) | $(FREETYPE_OBJ64)
cd $(dir $@) && \ cd $(dir $@) && \
$(abspath $(FREETYPE)/configure) CC="$(CC)" CXX="$(CXX)" --without-png --host x86_64-apple-darwin \ $(abspath $(FREETYPE)/configure) CC="$(CC)" CXX="$(CXX)" PKG_CONFIG=false \
PKG_CONFIG=false && \ --prefix=$(abspath $(TOOLS_DIR64)) --without-png --host x86_64-apple-darwin && \
echo 'LIBRARY := libprotonfreetype' >> unix-cc.mk echo 'LIBRARY := libprotonfreetype' >> unix-cc.mk
# 32bit-configure # 32bit-configure
$(FREETYPE_CONFIGURE_FILES32): $(FREETYPE_AUTOGEN_FILES) $(MAKEFILE_DEP) | $(FREETYPE_OBJ32) $(FREETYPE_CONFIGURE_FILES32): $(FREETYPE_AUTOGEN_FILES) $(MAKEFILE_DEP) | $(FREETYPE_OBJ32)
cd $(dir $@) && \ cd $(dir $@) && \
$(abspath $(FREETYPE)/configure) CC="$(CC)" CXX="$(CXX)" --without-png --host i686-apple-darwin \ $(abspath $(FREETYPE)/configure) CC="$(CC)" CXX="$(CXX)" PKG_CONFIG=false \
CFLAGS='-m32 -g -O2' LDFLAGS=-m32 PKG_CONFIG=false && \ CFLAGS='-m32 -g -O2' LDFLAGS=-m32 \
--prefix=$(abspath $(TOOLS_DIR32)) --without-png --host i686-apple-darwin && \
echo 'LIBRARY := libprotonfreetype' >> unix-cc.mk echo 'LIBRARY := libprotonfreetype' >> unix-cc.mk
## Freetype goals ## Freetype goals
# TODO copy-from-tools step for dist .PHONY: freetype freetype32 freetype64 freetype_autogen freetype_configure freetype_configure32 freetype_configure64
.PHONY: freetype freetype_autogen freetype_configure freetype_configure32 freetype_configure64 GOAL_TARGETS += freetype
freetype_configure: $(FREETYPE_CONFIGURE_FILES32) $(FREETYPE_CONFIGURE_FILES64) freetype_configure: $(FREETYPE_CONFIGURE_FILES32) $(FREETYPE_CONFIGURE_FILES64)
@ -366,7 +365,28 @@ freetype_configure32: $(FREETYPE_CONFIGURE_FILES32)
freetype_autogen: $(FREETYPE_AUTOGEN_FILES) freetype_autogen: $(FREETYPE_AUTOGEN_FILES)
freetype: $(FREETYPE_CONFIGURE_FILES32) $(FREETYPE_CONFIGURE_FILES64) freetype: freetype32 freetype64
# Make silliness to make both the explicit freetype goal and the outfile come from the same recipe
.INTERMEDIATE: freetype64-intermediate freetype32-intermediate
$(FREETYPE_OUT64) freetype64: freetype64-intermediate
$(FREETYPE_OUT32) freetype32: freetype32-intermediate
freetype64-intermediate: $(FREETYPE_CONFIGURE_FILES64)
$(MAKE) -C $(FREETYPE_OBJ64)
$(MAKE) -C $(FREETYPE_OBJ64) install
cp $(FREETYPE_OUT64) $(DST_DIR)/lib64
$(STRIP) $(DST_DIR)/lib64/libprotonfreetype.dylib
freetype32-intermediate: $(FREETYPE_CONFIGURE_FILES32)
$(MAKE) -C $(FREETYPE_OBJ32)
$(MAKE) -C $(FREETYPE_OBJ32) install
cp $(FREETYPE_OUT32) $(DST_DIR)/lib
$(STRIP) $(DST_DIR)/lib/libprotonfreetype.dylib
endif # ifeq ($(OSX),1)
## ##
## OpenAL ## OpenAL
@ -619,7 +639,7 @@ WINE_CONFIGURE_FILES64 := $(WINE_OBJ64)/Makefile
# 64bit-configure # 64bit-configure
$(WINE_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64) $(WINE_CONFIGURE_FILES64): SHELL = $(CONTAINER_SHELL64)
$(WINE_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(WINE_OBJ64) $(WINE_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(WINE_OBJ64) $(FREETYPE_OUT64)
cd $(dir $@) && \ cd $(dir $@) && \
STRIP="$(STRIP)" \ STRIP="$(STRIP)" \
CFLAGS="-I$(abspath $(TOOLS_DIR64))/include -g -O2" \ CFLAGS="-I$(abspath $(TOOLS_DIR64))/include -g -O2" \
@ -642,7 +662,7 @@ $(WINE_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(WINE_OBJ64)
# 32-bit configure # 32-bit configure
$(WINE_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32) $(WINE_CONFIGURE_FILES32): SHELL = $(CONTAINER_SHELL32)
$(WINE_CONFIGURE_FILES32): $(MAKEFILE_DEP) | $(WINE_OBJ32) $(WINE_CONFIGURE_FILES32): $(MAKEFILE_DEP) | $(WINE_OBJ32) $(FREETYPE_OUT32)
cd $(dir $@) && \ cd $(dir $@) && \
STRIP="$(STRIP)" \ STRIP="$(STRIP)" \
CFLAGS="-I$(abspath $(TOOLS_DIR32))/include -g -O2" \ CFLAGS="-I$(abspath $(TOOLS_DIR32))/include -g -O2" \