buildrootschalter/package/flex/flex.mk
Thomas Petazzoni 3502bb056f flex: install in the staging directory
Flex contains a libfl.a directory, which programs for the target might
link against. Therefore, we need to install flex to the staging
directory. An example of such a program is gob2, which needs the
yywrap() function, which is implemented by libfl.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-02-23 20:34:32 +01:00

42 lines
1.0 KiB
Makefile

#############################################################
#
# flex
#
#############################################################
FLEX_VERSION:=2.5.35
FLEX_PATCH_VERSION:=9
FLEX_SOURCE:=flex_$(FLEX_VERSION).orig.tar.gz
FLEX_PATCH:=flex_$(FLEX_VERSION)-$(FLEX_PATCH_VERSION).diff.gz
FLEX_SITE:=$(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex
FLEX_DIR:=$(BUILD_DIR)/flex-$(FLEX_VERSION)
FLEX_INSTALL_STAGING=YES
# lex -> flex
define FLEX_INSTALL_LEX
cd $(TARGET_DIR)/usr/bin && ln -snf flex lex
endef
define FLEX_UNINSTALL_LEX
-rm $(TARGET_DIR)/usr/bin/lex
endef
FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LEX
FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LEX
# libfl installation
ifeq ($(BR2_PACKAGE_FLEX_LIBFL),y)
define FLEX_INSTALL_LIBFL
install -D $(FLEX_DIR)/libfl.a $(STAGING_DIR)/usr/lib/libfl.a
endef
define FLEX_UNINSTALL_LIBFL
-rm $(STAGING_DIR)/lib/libfl.a
endef
FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LIBFL
FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LIBFL
endif
$(eval $(call AUTOTARGETS,package,flex))
$(eval $(call AUTOTARGETS,package,flex,host))