1## 2# cxxfilt Makefile 3## 4 5# The --target is because bfd doesn't actually work on powerpc-darwin. 6# libiberty doesn't care about the target, but c++filt does, in one 7# very small way: it needs to know whether or not the target prepends an 8# underscore. It turns out that this target does prepend an underscore. 9FAKE_TARGET=mn10300-elf 10 11# Project info 12Project = cxxfilt 13UserType = Developer 14ToolType = Commands 15Install_Prefix = /usr/local 16Extra_Configure_Flags = --target=$(FAKE_TARGET) \ 17 --without-target-subdir \ 18 --disable-nls $(HOST_TARGET_FLAGS) --disable-werror 19Extra_CC_Flags = -mdynamic-no-pic 20Extra_LD_Flags = -lc++ 21GnuAfterInstall = post-install install-plist 22 23# It's a GNU Source project 24include ./GNUSource.make 25 26# Automatic Extract & Patch 27AEP = YES 28AEP_Project = binutils 29AEP_Version = 070207 30AEP_ProjVers = $(AEP_Project)-$(AEP_Version) 31AEP_Filename = $(AEP_ProjVers).tar.bz2 32AEP_ExtractDir = $(AEP_ProjVers) 33AEP_Patches = libiberty-demangle-5046344.patch libiberty-printf.patch stat64.patch demangle.patch cxa_demangle.patch 34 35ifeq ($(suffix $(AEP_Filename)),.bz2) 36AEP_ExtractOption = j 37else 38AEP_ExtractOption = z 39endif 40 41Install_Target = install 42 43# Extract the source. 44install_source:: 45ifeq ($(AEP),YES) 46 $(TAR) -C $(SRCROOT) -$(AEP_ExtractOption)xf $(SRCROOT)/$(AEP_Filename) 47 $(RMDIR) $(SRCROOT)/$(Project) 48 $(MV) $(SRCROOT)/$(AEP_ExtractDir) $(SRCROOT)/$(Project) 49 $(RM) -r $(SRCROOT)/$(Project)/{gas,ld,gprof} 50 for patchfile in $(AEP_Patches); do \ 51 cd $(SRCROOT)/$(Project) && patch -p0 < $(SRCROOT)/patches/$$patchfile; \ 52 done 53endif 54 55post-install: 56 $(MKDIR) $(DSTROOT)/usr/bin 57 $(STRIP) $(DSTROOT)/usr/local/bin/$(FAKE_TARGET)-c++filt \ 58 -o $(DSTROOT)/usr/bin/c++filt 59 $(MV) $(DSTROOT)/usr/share/man/man1/$(FAKE_TARGET)-c++filt.1 \ 60 $(DSTROOT)/usr/share/man/man1/c++filt.1 61 $(RM) -r $(DSTROOT)/usr/share/info $(DSTROOT)/usr/local/bin 62 $(RM) -r $(DSTROOT)/usr/local/$(FAKE_TARGET) 63 $(RM) $(DSTROOT)/usr/share/man/man1/$(FAKE_TARGET)-* 64 $(RM) -r $(DSTROOT)/usr/local/include 65 $(RM) -r $(DSTROOT)/usr/local/lib 66 67OSV = $(DSTROOT)/usr/local/OpenSourceVersions 68OSL = $(DSTROOT)/usr/local/OpenSourceLicenses 69 70install-plist: 71 $(MKDIR) $(OSV) 72 $(INSTALL_FILE) $(SRCROOT)/$(Project).plist $(OSV)/$(Project).plist 73 $(MKDIR) $(OSL) 74 $(INSTALL_FILE) $(Sources)/COPYING $(OSL)/$(Project).txt 75