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