1##
2# Makefile for tcsh
3##
4
5# Project info
6Project               = tcsh
7UserType              = Administration
8ToolType              = Commands
9Extra_CC_Flags        = -D_PATH_TCSHELL='\"/bin/tcsh\"' -no-cpp-precomp -mdynamic-no-pic -DDARWIN -fstack-protector-all
10Extra_Configure_Flags = --bindir="/bin"
11Extra_Install_Flags   = DESTBIN="$(DSTROOT)/bin" MANSECT="1" DESTMAN="$(DSTROOT)/usr/share/man/man1" srcdir="$(SRCROOT)/tcsh"
12GnuAfterInstall       = install-links install-rc install-plist
13
14# It's a GNU Source project
15include $(MAKEFILEPATH)/CoreOS/ReleaseControl/GNUSource.make
16
17Install_Target = install install.man
18
19install-rc:
20	$(_v) $(INSTALL_DIRECTORY) $(DSTROOT)/$(ETCDIR)
21	$(_V) $(INSTALL) -c -m 0644 -o root -g wheel $(SRCROOT)/csh.cshrc $(DSTROOT)/$(ETCDIR)/
22	$(_V) $(INSTALL) -c -m 0644 -o root -g wheel $(SRCROOT)/csh.login $(DSTROOT)/$(ETCDIR)/
23	$(_V) $(INSTALL) -c -m 0644 -o root -g wheel $(SRCROOT)/csh.logout $(DSTROOT)/$(ETCDIR)/
24
25install-links:
26	$(_v) $(CP) $(OBJROOT)/tcsh $(SYMROOT)/tcsh
27	$(_v) dsymutil $(SYMROOT)/tcsh
28	$(_v) $(INSTALL_DIRECTORY) $(DSTROOT)$(BINDIR)
29	$(_v) $(LN) -f $(DSTROOT)$(BINDIR)/tcsh $(DSTROOT)$(BINDIR)/csh
30	$(_v) $(INSTALL_DIRECTORY) $(DSTROOT)/usr/share/man/man1
31	$(_v) $(LN) -f $(DSTROOT)/usr/share/man/man1/tcsh.1 \
32		$(DSTROOT)/usr/share/man/man1/csh.1
33
34OSV = $(DSTROOT)/usr/local/OpenSourceVersions
35OSL = $(DSTROOT)/usr/local/OpenSourceLicenses
36
37install-plist:
38	$(_v) $(INSTALL_DIRECTORY) $(OSV)
39	$(_v) $(INSTALL_FILE) $(SRCROOT)/$(Project).plist $(OSV)/$(Project).plist
40	$(_v) $(INSTALL_DIRECTORY) $(OSL)
41	$(_v) $(INSTALL_FILE) $(SRCROOT)/$(Project)/Copyright $(OSL)/$(Project).txt
42
43# Automatic Extract & Patch
44AEP            = YES
45AEP_Project    = $(Project)
46AEP_Version    = 6.17.00
47AEP_ProjVers   = $(AEP_Project)-$(AEP_Version)
48AEP_Filename   = $(AEP_ProjVers).tar.gz
49AEP_ExtractDir = $(AEP_ProjVers)
50AEP_Patches    = config_f.h.diff host.defs.patch tc.sig.h.patch
51
52
53ifeq ($(suffix $(AEP_Filename)),.bz2)
54AEP_ExtractOption = j
55else
56AEP_ExtractOption = z
57endif
58
59# Extract the source.
60install_source::
61ifeq ($(AEP),YES)
62	$(TAR) -C $(SRCROOT) -$(AEP_ExtractOption)xf $(SRCROOT)/$(AEP_Filename)
63	$(RMDIR) $(SRCROOT)/$(Project)
64	$(MV) $(SRCROOT)/$(AEP_ExtractDir) $(SRCROOT)/$(Project)
65	for patchfile in $(AEP_Patches); do \
66		cd $(SRCROOT)/$(Project) && patch -p0 -F0 < $(SRCROOT)/patches/$$patchfile || exit 1; \
67	done
68endif
69