1## 2# Makefile for ksh 3## 4 5Project = ksh 6 7include $(MAKEFILEPATH)/CoreOS/ReleaseControl/Common.make 8 9Version = 2012-08-01 10Sources = $(SRCROOT)/$(Project) 11Patches = \ 12 src__cmd__ksh93__sh.1.diff \ 13 src__lib__libast__features__lib.diff \ 14 src__lib__libast__features__common.diff \ 15 src__cmd__ksh93__jobs.c.diff \ 16 src__cmd__ksh93__parse.c.diff \ 17 src__cmd__ksh93__sh__array.c.diff 18 19#find ksh overrides before libSystem 20EXTRA_LDFLAGS = -Wl,-search_paths_first 21 22install_source:: 23 $(MKDIR) $(Sources) 24 $(TAR) -C $(Sources) -zxf $(SRCROOT)/INIT.$(Version).tgz 25 $(TAR) -C $(Sources) -zxf $(SRCROOT)/ast-ksh.$(Version).tgz 26 for project in cmd/ksh93 lib/libast lib/libcmd lib/libdll lib/libcoshell; do \ 27 ed - $(Sources)/src/$$project/Mamfile < $(SRCROOT)/patches/add_ARCH_CCFLAGS.ed; \ 28 done 29 for p in $(Patches); do \ 30 patch -d $(Sources) -p0 -b < $(SRCROOT)/patches/$$p || exit 1; \ 31 done 32 33PASS_CCFLAGS = $(CC_Debug) $(CC_Optimize) $(CC_Other) -DSHOPT_SPAWN=0 -D_ast_int8_t=int64_t -D_lib_memccpy 34ARCH_CCFLAGS = $(CC_Archs) 35 36build:: shadow_source 37 cd $(BuildDirectory) && LDFLAGS="$(EXTRA_LDFLAGS)" CCFLAGS="$(PASS_CCFLAGS) $(EXTRA_CCFLAGS)" ARCH_CCFLAGS="$(ARCH_CCFLAGS)" ./bin/package make SHELL=$(SHELL) 38 @fgrep '*** exit code' $(OBJROOT)/arch/$(shell $(BuildDirectory)/bin/package)/lib/package/gen/make.out && exit 1 || exit 0 39 cd $(BuildDirectory) && ./bin/package results SHELL=$(SHELL) 40 41KSH_ARCH = $(shell $(BuildDirectory)/bin/package) 42OSV = $(DSTROOT)/usr/local/OpenSourceVersions 43OSL = $(DSTROOT)/usr/local/OpenSourceLicenses 44 45install:: 46 $(CP) $(BuildDirectory)/arch/$(KSH_ARCH)/bin/ksh $(SYMROOT)/ksh 47 $(DSYMUTIL) $(SYMROOT)/ksh 48 $(INSTALL_DIRECTORY) $(DSTROOT)/bin 49 $(INSTALL_PROGRAM) $(BuildDirectory)/arch/$(KSH_ARCH)/bin/ksh $(DSTROOT)/bin/ksh 50 $(INSTALL_DIRECTORY) $(DSTROOT)/usr/share/man/man1 51 $(INSTALL_FILE) $(BuildDirectory)/arch/$(KSH_ARCH)/man/man1/sh.1 $(DSTROOT)/usr/share/man/man1/ksh.1 52 $(INSTALL_DIRECTORY) $(OSV) 53 $(INSTALL_FILE) $(SRCROOT)/$(Project).plist $(OSV)/ 54 $(INSTALL_DIRECTORY) $(OSL) 55 $(INSTALL_FILE) $(Project).txt $(OSL)/ 56