makefile_base.mak: Add libpng build steps for OS X
This commit is contained in:
parent
5cd4f01d85
commit
bbe3decd78
1 changed files with 82 additions and 4 deletions
|
@ -260,6 +260,13 @@ CMAKE_OBJ64 := ./obj-cmake64
|
||||||
CMAKE_BIN32 := $(CMAKE_OBJ32)/built/bin/cmake
|
CMAKE_BIN32 := $(CMAKE_OBJ32)/built/bin/cmake
|
||||||
CMAKE_BIN64 := $(CMAKE_OBJ64)/built/bin/cmake
|
CMAKE_BIN64 := $(CMAKE_OBJ64)/built/bin/cmake
|
||||||
|
|
||||||
|
LIBPNG := $(SRCDIR)/libpng
|
||||||
|
LIBPNGPROTON := ./syn-libpng
|
||||||
|
LIBPNG_OBJ32 := ./obj-libpng32
|
||||||
|
LIBPNG_OBJ64 := ./obj-libpng64
|
||||||
|
LIBPNG_OUT64 := $(TOOLS_DIR64)/lib/libprotonpng16.dylib
|
||||||
|
LIBPNG_OUT32 := $(TOOLS_DIR32)/lib/libprotonpng16.dylib
|
||||||
|
|
||||||
## Object directories
|
## Object directories
|
||||||
OBJ_DIRS := $(TOOLS_DIR32) $(TOOLS_DIR64) \
|
OBJ_DIRS := $(TOOLS_DIR32) $(TOOLS_DIR64) \
|
||||||
$(FREETYPE_OBJ32) $(FREETYPE_OBJ64) \
|
$(FREETYPE_OBJ32) $(FREETYPE_OBJ64) \
|
||||||
|
@ -269,7 +276,8 @@ OBJ_DIRS := $(TOOLS_DIR32) $(TOOLS_DIR64) \
|
||||||
$(WINE_OBJ32) $(WINE_OBJ64) \
|
$(WINE_OBJ32) $(WINE_OBJ64) \
|
||||||
$(VRCLIENT_OBJ32) $(VRCLIENT_OBJ64) \
|
$(VRCLIENT_OBJ32) $(VRCLIENT_OBJ64) \
|
||||||
$(DXVK_OBJ32) $(DXVK_OBJ64) \
|
$(DXVK_OBJ32) $(DXVK_OBJ64) \
|
||||||
$(CMAKE_OBJ32) $(CMAKE_OBJ64)
|
$(CMAKE_OBJ32) $(CMAKE_OBJ64) \
|
||||||
|
$(LIBPNG_OBJ32) $(LIBPNG_OBJ64)
|
||||||
|
|
||||||
$(OBJ_DIRS):
|
$(OBJ_DIRS):
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
@ -453,6 +461,77 @@ freetype32-intermediate: $(FREETYPE_CONFIGURE_FILES32)
|
||||||
|
|
||||||
endif # ifeq ($(OSX),1)
|
endif # ifeq ($(OSX),1)
|
||||||
|
|
||||||
|
##
|
||||||
|
## libpng
|
||||||
|
##
|
||||||
|
|
||||||
|
ifeq ($(OSX),1) # currently only for OS X builds
|
||||||
|
|
||||||
|
## Synthetic libpng with modified Makefile.am for autogen
|
||||||
|
$(LIBPNGPROTON)/.created: $(LIBPNG) $(MAKEFILE_DEP) $(LIBPNG)/autogen.sh $(LIBPNG)/configure.ac
|
||||||
|
rm -rf ./$(LIBPNGPROTON)
|
||||||
|
mkdir -p $(LIBPNGPROTON)/
|
||||||
|
cd $(LIBPNGPROTON)/ && \
|
||||||
|
ln -sfv ../$(LIBPNG)/* .
|
||||||
|
rm $(LIBPNGPROTON)/Makefile.am
|
||||||
|
cp $(LIBPNG)/Makefile.am $(LIBPNGPROTON)
|
||||||
|
sed -i -e 's/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@/libprotonpng@PNGLIB_MAJOR@@PNGLIB_MINOR@/' $(LIBPNGPROTON)/Makefile.am
|
||||||
|
cd $(LIBPNGPROTON) && ./autogen.sh --maintainer
|
||||||
|
touch $(LIBPNGPROTON)/.created
|
||||||
|
|
||||||
|
$(LIBPNGPROTON): $(LIBPNGPROTON)/.created
|
||||||
|
|
||||||
|
## Create & configure object directory for libpng
|
||||||
|
|
||||||
|
LIBPNG_CONFIGURE_FILES32 := $(LIBPNG_OBJ32)/Makefile
|
||||||
|
LIBPNG_CONFIGURE_FILES64 := $(LIBPNG_OBJ64)/Makefile
|
||||||
|
|
||||||
|
# 64-bit configure
|
||||||
|
$(LIBPNG_CONFIGURE_FILES64): $(LIBPNG_AUTOGEN_FILES) $(MAKEFILE_DEP) $(LIBPNGPROTON) | $(LIBPNG_OBJ64)
|
||||||
|
cd $(dir $@) && \
|
||||||
|
$(abspath $(LIBPNGPROTON)/configure) --prefix=$(abspath $(TOOLS_DIR64)) --host x86_64-apple-darwin
|
||||||
|
|
||||||
|
# 32bit-configure
|
||||||
|
$(LIBPNG_CONFIGURE_FILES32): $(LIBPNG_AUTOGEN_FILES) $(MAKEFILE_DEP) $(LIBPNGPROTON) | $(LIBPNG_OBJ32)
|
||||||
|
cd $(dir $@) && \
|
||||||
|
$(abspath $(LIBPNGPROTON)/configure) --prefix=$(abspath $(TOOLS_DIR32)) --host i686-apple-darwin \
|
||||||
|
CFLAGS='-m32 -g -O2' LDFLAGS=-m32
|
||||||
|
|
||||||
|
## Libpng goals
|
||||||
|
|
||||||
|
.PHONY: libpng libpng32 libpng64 libpng_configure libpng_configure32 libpng_configure64
|
||||||
|
|
||||||
|
GOAL_TARGETS += libpng
|
||||||
|
|
||||||
|
libpng_configure: $(LIBPNG_CONFIGURE_FILES32) $(LIBPNG_CONFIGURE_FILES64)
|
||||||
|
|
||||||
|
libpng_configure64: $(LIBPNG_CONFIGURE_FILES64)
|
||||||
|
|
||||||
|
libpng_configure32: $(LIBPNG_CONFIGURE_FILES32)
|
||||||
|
|
||||||
|
libpng: libpng32 libpng64
|
||||||
|
|
||||||
|
# Make silliness to make both the explicit libpng goal and the outfile come from the same recipe
|
||||||
|
.INTERMEDIATE: libpng64-intermediate libpng32-intermediate
|
||||||
|
|
||||||
|
$(LIBPNG_OUT64) libpng64: libpng64-intermediate
|
||||||
|
|
||||||
|
$(LIBPNG_OUT32) libpng32: libpng32-intermediate
|
||||||
|
|
||||||
|
libpng64-intermediate: $(LIBPNG_CONFIGURE_FILES64)
|
||||||
|
$(MAKE) -C $(LIBPNG_OBJ64)
|
||||||
|
$(MAKE) -C $(LIBPNG_OBJ64) install
|
||||||
|
cp $(LIBPNG_OUT64) $(DST_DIR)/lib64
|
||||||
|
$(STRIP) $(DST_DIR)/lib64/libprotonpng16.dylib
|
||||||
|
|
||||||
|
libpng32-intermediate: $(LIBPNG_CONFIGURE_FILES32)
|
||||||
|
$(MAKE) -C $(LIBPNG_OBJ32)
|
||||||
|
$(MAKE) -C $(LIBPNG_OBJ32) install
|
||||||
|
cp $(LIBPNG_OUT32) $(DST_DIR)/lib
|
||||||
|
$(STRIP) $(DST_DIR)/lib/libprotonpng16.dylib
|
||||||
|
|
||||||
|
endif # ifeq ($(OSX),1)
|
||||||
|
|
||||||
##
|
##
|
||||||
## OpenAL
|
## OpenAL
|
||||||
##
|
##
|
||||||
|
@ -704,7 +783,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) $(FREETYPE_OUT64)
|
$(WINE_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(WINE_OBJ64) $(FREETYPE_OUT64) $(LIBPNG_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" \
|
||||||
|
@ -727,7 +806,7 @@ $(WINE_CONFIGURE_FILES64): $(MAKEFILE_DEP) | $(WINE_OBJ64) $(FREETYPE_OUT64)
|
||||||
|
|
||||||
# 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) $(FREETYPE_OUT32)
|
$(WINE_CONFIGURE_FILES32): $(MAKEFILE_DEP) | $(WINE_OBJ32) $(FREETYPE_OUT32) $(LIBPNG_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" \
|
||||||
|
@ -1018,7 +1097,6 @@ dxvk32: $(DXVK_CONFIGURE_FILES32)
|
||||||
endif # NO_DXVK
|
endif # NO_DXVK
|
||||||
|
|
||||||
# TODO OS X
|
# TODO OS X
|
||||||
# build_libpng
|
|
||||||
# build_libjpeg
|
# build_libjpeg
|
||||||
# build_libSDL
|
# build_libSDL
|
||||||
# build_moltenvk
|
# build_moltenvk
|
||||||
|
|
Loading…
Reference in a new issue