1*7c3d14c8STreehugger Robot# 2*7c3d14c8STreehugger Robot# The LLVM Compiler Infrastructure 3*7c3d14c8STreehugger Robot# 4*7c3d14c8STreehugger Robot# This file is distributed under the University of Illinois Open Source 5*7c3d14c8STreehugger Robot# License. See LICENSE.TXT for details. 6*7c3d14c8STreehugger RobotCCDIR=/usr/bin 7*7c3d14c8STreehugger Robot#CCDIR=/Volumes/Keep/gcc/usr/bin 8*7c3d14c8STreehugger Robot 9*7c3d14c8STreehugger Robotall: std 10*7c3d14c8STreehugger Robot 11*7c3d14c8STreehugger Robotclean: 12*7c3d14c8STreehugger Robot rm -fr *.dSYM *.o *-bin testfilerunner 13*7c3d14c8STreehugger Robot 14*7c3d14c8STreehugger RobotTFR = ~public/bin/testfilerunner 15*7c3d14c8STreehugger Robot 16*7c3d14c8STreehugger Robottestfilerunner: testfilerunner.h testfilerunner.m 17*7c3d14c8STreehugger Robot gcc -fobjc-gc-only -g -arch x86_64 -arch i386 -std=gnu99 testfilerunner.m -o testfilerunner -framework Foundation 18*7c3d14c8STreehugger Robot 19*7c3d14c8STreehugger Robottests: 20*7c3d14c8STreehugger Robot grep CONFIG *.[cmCM] | $(TFR) $(CCDIR) -- 21*7c3d14c8STreehugger Robot 22*7c3d14c8STreehugger Robotopen: 23*7c3d14c8STreehugger Robot grep CONFIG *.[cmCM] | $(TFR) $(CCDIR) -open -- 24*7c3d14c8STreehugger Robot 25*7c3d14c8STreehugger Robotfast: 26*7c3d14c8STreehugger Robot grep CONFIG *.[cmCM] | $(TFR) -fast $(CCDIR) -- 27*7c3d14c8STreehugger Robot 28*7c3d14c8STreehugger Robotstd: 29*7c3d14c8STreehugger Robot grep CONFIG *.[cmCM] | $(TFR) -- 30*7c3d14c8STreehugger Robot 31*7c3d14c8STreehugger Robotclang: 32*7c3d14c8STreehugger Robot grep CONFIG *.[cmCM] | $(TFR) -clang -fast -- 33*7c3d14c8STreehugger Robot 34*7c3d14c8STreehugger Robotfastd: 35*7c3d14c8STreehugger Robot grep CONFIG *.[cmCM] | $(TFR) -fast -- 36*7c3d14c8STreehugger Robot 37*7c3d14c8STreehugger Robot 38*7c3d14c8STreehugger Robot# Hack Alert: arguably most of the following belongs in libclosure's Makefile; sticking it here until I get around to grokking what goes on in that file. 39*7c3d14c8STreehugger Robotsudid: 40*7c3d14c8STreehugger Robot @echo Enabling sudo: # Hack Alert: enable sudo first thing so we don't hang at the password prompt later 41*7c3d14c8STreehugger Robot @sudo echo Thanks 42*7c3d14c8STreehugger Robot 43*7c3d14c8STreehugger Robot 44*7c3d14c8STreehugger RobotRootsDirectory ?= /tmp/ 45*7c3d14c8STreehugger Robot# Note: the libsystem project (built by the libsystemroot target below) uses the ALTUSRLOCALLIBSYSTEM variable, so we use it here to maintain parity 46*7c3d14c8STreehugger RobotALTUSRLOCALLIBSYSTEM ?= $(RootsDirectory)/alt-usr-local-lib-system/ 47*7c3d14c8STreehugger Robotaltusrlocallibsystem: 48*7c3d14c8STreehugger Robot ditto /usr/local/lib/system $(ALTUSRLOCALLIBSYSTEM) # FIXME: conditionalize this copy 49*7c3d14c8STreehugger Robot 50*7c3d14c8STreehugger Robot 51*7c3d14c8STreehugger Robot# <rdar://problem/6456031> ER: option to not require extra privileges (-nosudo or somesuch) 52*7c3d14c8STreehugger RobotBuildit ?= ~rc/bin/buildit -rootsDirectory $(RootsDirectory) -arch i386 -arch ppc -arch x86_64 53*7c3d14c8STreehugger Robotblocksroot: sudid clean altusrlocallibsystem 54*7c3d14c8STreehugger Robot sudo $(Buildit) .. 55*7c3d14c8STreehugger Robot ditto $(RootsDirectory)/libclosure.roots/libclosure~dst/usr/local/lib/system $(ALTUSRLOCALLIBSYSTEM) 56*7c3d14c8STreehugger Robot 57*7c3d14c8STreehugger Robot 58*7c3d14c8STreehugger RobotLibsystemVersion ?= 121 59*7c3d14c8STreehugger RobotLibsystemPath ?= ~rc/Software/SnowLeopard/Projects/Libsystem/Libsystem-$(LibsystemVersion) 60*7c3d14c8STreehugger RobotLibsystemTmpPath ?= $(RootsDirectory)/Libsystem-$(LibsystemVersion) 61*7c3d14c8STreehugger Robotlibsystemroot: blocksroot 62*7c3d14c8STreehugger Robot ditto $(LibsystemPath) $(LibsystemTmpPath) # FIXME: conditionalize this copy 63*7c3d14c8STreehugger Robot sudo ALTUSRLOCALLIBSYSTEM=$(ALTUSRLOCALLIBSYSTEM) $(Buildit) $(LibsystemTmpPath) 64*7c3d14c8STreehugger Robot 65*7c3d14c8STreehugger Robot 66*7c3d14c8STreehugger Robot# Defaults to product of the libsystemroot target but does not automatically rebuild that, make both targets if you want a fresh root 67*7c3d14c8STreehugger RobotLibsystemRootPath ?= $(RootsDirectory)/Libsystem-$(LibsystemVersion).roots/Libsystem-$(LibsystemVersion)~dst/usr/lib/ 68*7c3d14c8STreehugger Robotroottests: 69*7c3d14c8STreehugger Robot grep CONFIG *.[cmCM] | $(TFR) -dyld $(LibsystemRootPath) -- # FIXME: figure out if I can "call" the std target instead of duplicating it 70*7c3d14c8STreehugger Robot 71