open-src/lib/freetype/Makefile
changeset 1466 fbd4067be4c6
parent 1456 c800ec17944c
child 1519 bb407f2fcec4
equal deleted inserted replaced
1465:0b0ba5765fee 1466:fbd4067be4c6
    87 MODULE_PREFIX_SET=yes
    87 MODULE_PREFIX_SET=yes
    88 
    88 
    89 # Additional command line options to GNU autoconf configure script
    89 # Additional command line options to GNU autoconf configure script
    90 MODULE_CONFIG_OPTS= \
    90 MODULE_CONFIG_OPTS= \
    91 	--enable-biarch-config \
    91 	--enable-biarch-config \
    92 	--libdir='$(MODULE_PREFIX)/lib$(ARCHLIBSUBDIR)' \
       
    93 	--with-zlib \
    92 	--with-zlib \
    94 	--with-pic
    93 	--with-pic
    95 
    94 
    96 # pkg-config files that need to have -R added
    95 # pkg-config files that need to have -R added
    97 FIX_PC_FILES=builds/unix/freetype2.in
    96 FIX_PC_FILES=builds/unix/freetype2.in
       
    97 install_pkgconfig_uninstalled:= FIX_PC_FILES=freetype2.in
    98 
    98 
    99 # Need to use GNU Make to build
    99 # Need to use GNU Make to build
   100 MODULE_MAKE=$(GNUMAKE)
   100 MODULE_MAKE=$(GNUMAKE)
   101 MODULE_MAKE_SET=yes
   101 MODULE_MAKE_SET=yes
   102 
   102 
   103 # Don't run normal configure/install rules - freetype is different
   103 # Environment variables to pass to configure & build steps
   104 CONFIGURE_TARGETS=$(SOURCE_DIR)/config.mk
   104 MODULE_CONFIG_ENV = GNUMAKE=$(GNUMAKE)
   105 CONFIGURE_TARGETS_SET=yes
   105 MODULE_BUILD_ENV = $(MODULE_CONFIG_ENV)
   106 INSTALL_TARGETS=install_freetype install_freetype_docs
       
   107 INSTALL_TARGETS_SET=yes
       
   108 
   106 
   109 # Environment variables to pass to configure & build steps
   107 MODULE_ADD_INSTALL_TARGETS = install_freetype_docs install_freetype_links
   110 MODULE_ENV = \
       
   111     SHELL="/bin/bash" \
       
   112     MAKESHELL="/bin/bash" \
       
   113     CPP="$(CC) -E $(LIB_CFLAGS)" \
       
   114     CXXCPP="$(CXX) -E $(CXXFLAGS)" \
       
   115     MAKEFLAGS= \
       
   116     MAKE=$(GNUMAKE) GNUMAKE=$(GNUMAKE) CFG="$(CONFIG_OPTS)"
       
   117 
   108 
   118 # Don't use -I paths to proto area, since freetype doesn't depend on
   109 # Don't use -I paths to proto area, since freetype doesn't depend on
   119 # anything there, but can break if it finds old freetype headers during
   110 # anything there, but can break if it finds old freetype headers during
   120 # an incremental rebuild.
   111 # an incremental rebuild.
   121 USE_DEFAULT_CONFIG_CPPFLAGS=no
   112 USE_DEFAULT_CONFIG_CPPFLAGS=no
   122 
       
   123 MODULE_CONFIG_ENV = $(MODULE_ENV)
       
   124 MODULE_BUILD_ENV = $(CONFIG_ENV)
       
   125 
   113 
   126 MODULE_INSTALL_MAKEFLAGS=bindir=$(MODULE_PREFIX)/bin$(ARCHLIBSUBDIR)
   114 MODULE_INSTALL_MAKEFLAGS=bindir=$(MODULE_PREFIX)/bin$(ARCHLIBSUBDIR)
   127 
   115 
   128 # Don't touch apinames when running set-elf-comments or it will trigger
   116 # Don't touch apinames when running set-elf-comments or it will trigger
   129 # a rebuild during "make install" that loses the comments.
   117 # a rebuild during "make install" that loses the comments.
   132 ### Include common rulesets
   120 ### Include common rulesets
   133 include ../Makefile.inc
   121 include ../Makefile.inc
   134 
   122 
   135 ### Rules specific to this directory:
   123 ### Rules specific to this directory:
   136 
   124 
   137 # Run configure script (Freetype helpfully does this the first time you call
   125 FT_libdir=$(MODULE_PREFIX)/lib$(ARCHLIBSUBDIR)
   138 # gmake - this isn't normal for autoconf programs)
       
   139 $(SOURCE_DIR)/config.mk: $(UNPACK_TARGET)
       
   140 	(cd $(SOURCE_DIR) ; \
       
   141 	chmod a+x builds/unix/configure builds/unix/mkinstalldirs builds/unix/install-sh ; \
       
   142 	$(CONFIG_ENV) $(GNUMAKE) )
       
   143 
   126 
   144 FT_bindir=$(MODULE_PREFIX)/bin$(ARCHLIBSUBDIR)
   127 install_freetype_links: $(PROTODIR)$(FT_libdir)/libfreetype.so
   145 FT_libdir=$(MODULE_PREFIX)/lib$(ARCHLIBSUBDIR)
       
   146 FT_docdir=$(MODULE_PREFIX)/share/doc/$(MODULE_NAME)
       
   147 
   128 
   148 # Have to override default_install since the -e causes our BUILD_DIR to
   129 $(PROTODIR)$(FT_libdir)/libfreetype.so: default_install
   149 # clash with the one in freetype's Makefiles
   130 	mkdir -p $(@D)
   150 install_freetype: $(BUILD_TARGETS)
   131 	-rm -f $@
   151 	mkdir -p $(PROTODIR)$(FT_bindir)
   132 	ln -s libfreetype.so.6 $@
   152 	( cd $(SOURCE_DIR) ; \
       
   153 	  $(GNUMAKE) DESTDIR=$(PROTODIR) prefix=$(MODULE_PREFIX) libdir=$(FT_libdir) bindir=$(FT_bindir) install )
       
   154 	( cd $(PROTODIR)$(FT_libdir) ; \
       
   155 	  rm -f libfreetype.so ; ln -s libfreetype.so.6 libfreetype.so )
       
   156 
   133 
       
   134 install_freetype_docs: $(PROTODIR)$(MODULE_DOC_DIR)/index.html
   157 
   135 
   158 install_freetype_docs: $(PROTODIR)$(FT_docdir)/index.html
   136 $(PROTODIR)$(MODULE_DOC_DIR)/index.html: $(BUILD_TARGETS)
   159 
   137 	-rm -rf $(PROTODIR)$(MODULE_DOC_DIR)
   160 $(PROTODIR)$(FT_docdir)/index.html: $(BUILD_TARGETS)
   138 	mkdir -p $(PROTODIR)$(MODULE_DOC_DIR)
   161 	-rm -rf $(PROTODIR)$(FT_docdir)
   139 	$(INSTALL_SCRIPT) -m 0444 \
   162 	mkdir -p $(PROTODIR)$(FT_docdir)
   140 		$(SOURCE_DIR)/docs/reference/*.html \
   163 	( cd $(SOURCE_DIR) ; \
   141 		$(SOURCE_DIR)/docs/formats.txt \
   164 	    cp -fp docs/reference/*.html $(PROTODIR)$(FT_docdir)/ )
   142 		$(SOURCE_DIR)/docs/VERSION.DLL \
   165 	cp -fp $(SOURCE_DIR)/docs/formats.txt $(PROTODIR)$(FT_docdir)/
   143 		$(PROTODIR)$(MODULE_DOC_DIR)/
   166 	cp -fp $(SOURCE_DIR)/docs/VERSION.DLL $(PROTODIR)$(FT_docdir)/
   144 	ln -sf ft2-toc.html $(PROTODIR)$(MODULE_DOC_DIR)/index.html
   167 	ln -sf ft2-toc.html $(PROTODIR)$(FT_docdir)/index.html
       
   168