summaryrefslogtreecommitdiff
path: root/package/mksh/Makefile
blob: 9b331a28e238819211d07aee2e21a1134af1dd41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

include $(ADK_TOPDIR)/rules.mk

PKG_NAME:=		mksh
PKG_VERSION:=		56c
PKG_RELEASE:=		1
PKG_HASH:=		dd86ebc421215a7b44095dc13b056921ba81e61b9f6f4cdab08ca135d02afb77
PKG_DESCR:=		mirbsd korn shell
PKG_SECTION:=		base/shells
PKG_NEEDS:=		mmu
PKG_URL:=		http://www.mirbsd.org/mksh.htm
PKG_SITES:=		$(MASTER_SITE_MIRBSD:distfiles/=dist/mir/mksh/)

PKG_DFLT_MKSH:=		y if !ADK_APPLIANCE_TOOLCHAIN

PKG_SUBPKGS:=		MKSH MKSH_TEST
PKGSD_MKSH_TEST:=	install testsuite
PKGSC_MKSH_TEST:=	base/tests
PKGSS_MKSH_TEST:=	perl ed
PKGSB_MKSH_TEST:=	ed-host

DISTFILES:=		$(PKG_NAME)-R$(PKG_VERSION).tgz
WRKDIST=		$(WRKDIR)/$(PKG_NAME)

include $(ADK_TOPDIR)/mk/host.mk
include $(ADK_TOPDIR)/mk/package.mk

$(eval $(call HOST_template,MKSH,mksh,$(PKG_VERSION)-$(PKG_RELEASE)))
$(eval $(call PKG_template,MKSH,mksh,$(PKG_VERSION)-$(PKG_RELEASE),,$(PKG_DESCR),$(PKG_SECTION)))
$(eval $(call PKG_template,MKSH_TEST,mksh-test,$(PKG_VERSION)-$(PKG_RELEASE),,$(PKGSD_MKSH_TEST),$(PKGSC_MKSH_TEST)))

HOST_STYLE:=		manual
CONFIG_STYLE:=		manual
BUILD_STYLE:=		manual
INSTALL_STYLE:=		manual

host-build:
	cd $(WRKBUILD) && $(BASH) $(WRKSRC)/Build.sh -Q -r -c lto

mksh-hostinstall:
	$(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/bin
	$(INSTALL_BIN) $(WRKBUILD)/mksh \
	    $(STAGING_HOST_DIR)/usr/bin

do-build:
	cd $(WRKBUILD) && CC='$(TARGET_CC)' CFLAGS='$(TARGET_CFLAGS)' \
	    CPPFLAGS='$(TARGET_CPPFLAGS)' LDFLAGS='$(TARGET_LDFLAGS)' \
	    HAVE_CAN_FSTACKPROTECTORALL=0 HAVE_CAN_FSTACKPROTECTORSTRONG=0 \
	    TARGET_OS=Linux $(BASH) $(WRKSRC)/Build.sh -Q -r -c lto

mksh-install:
	$(INSTALL_DIR) $(IDIR_MKSH)/root
	$(CP) $(WRKSRC)/dot.mkshrc $(IDIR_MKSH)/root/.mkshrc
	$(INSTALL_DIR) $(IDIR_MKSH)/bin
	$(INSTALL_BIN) $(WRKBUILD)/mksh $(IDIR_MKSH)/bin

mksh-test-install:
	$(INSTALL_DIR) $(IDIR_MKSH_TEST)/opt/mksh
	$(CP) $(WRKBUILD)/* $(IDIR_MKSH_TEST)/opt/mksh
	find $(IDIR_MKSH_TEST)/opt/mksh -name \*.o -delete
	$(SED) \
	    's!$(WRKBUILD)!/opt/mksh!g' \
	    -e "s!PATH='[^']*'!PATH='/usr/sbin:/bin:/sbin:/usr/bin'!" \
	    $(IDIR_MKSH_TEST)/opt/mksh/test.sh

include $(ADK_TOPDIR)/mk/host-bottom.mk
include $(ADK_TOPDIR)/mk/pkg-bottom.mk