############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2007-2023 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # # # ############################################################################### ############################################################################### # Definitions ############################################################################### include Config VER = 6.4 THISAPP = ncurses-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) # Normal build or $(TOOLS_DIR) build. # ifeq "$(ROOT)" "" TARGET = $(DIR_INFO)/$(THISAPP) else TARGET = $(DIR_INFO)/$(THISAPP)-tools EXTRA_CONFIG = --build=$(BUILDTARGET) endif EXTRA_CONFIG += \ --prefix=$(PREFIX) \ --enable-widec \ --with-shared \ --without-debug \ --without-normal \ --enable-pc-files \ --disable-nls \ --mandir=/usr/share/man ############################################################################### # Top-level Rules ############################################################################### objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) $(DL_FILE)_BLAKE2 = 47fd9c2d27f44fa9942552881a471e5067465dbace40bf68b28998dded0556127a1d8662b96de4de4fd76c1c8b98bdae796036553ab4b05ca9f160839d841ba3 install : $(TARGET) check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) b2 : $(subst %,%_BLAKE2,$(objects)) ############################################################################### # Downloading, checking, b2sum ############################################################################### $(patsubst %,$(DIR_CHK)/%,$(objects)) : @$(CHECK) $(patsubst %,$(DIR_DL)/%,$(objects)) : @$(LOAD) $(subst %,%_BLAKE2,$(objects)) : @$(B2SUM) ############################################################################### # Installation Details ############################################################################### $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) # Don't install a static library cd $(DIR_APP) && sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in # Create pkgconfig dir in toolchain ifneq "$(ROOT)" "" mkdir -pv $(TOOLS_DIR)/lib/pkgconfig/ endif cd $(DIR_APP) && CPPFLAGS=-P ./configure $(EXTRA_CONFIG) cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install # allow the linker to find non-wide-character ncurses libraries for lib in ncurses form panel menu; do \ rm -vf $(PREFIX)/lib/lib$${lib}.so; \ echo "INPUT(-l$${lib}w)" > $(PREFIX)/lib/lib$${lib}.so; \ ln -sfv $${lib}w.pc $(PREFIX)/lib/pkgconfig/$${lib}.pc; \ done # old applications that look for -lcurses at build time are still buildable rm -vf /usr/lib/libcursesw.so echo "INPUT(-lncursesw)" > $(PREFIX)/lib/libcursesw.so ln -sfv libncurses.so $(PREFIX)/lib/libcurses.so @rm -rf $(DIR_APP) @$(POSTBUILD)