| 
					
				 | 
			
			
				@@ -1,23 +1,22 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # This Makefile takes .st files in the jtalk/st directory and produces compiled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# javascript files from them. It also produces one or more concatenated jtalk.js files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# for development and deployment. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# javascript files from them, for both debug and deployment. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Where we find the current runnable code and where we put our js files when we are done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Where we find the current runnable code and where we put our js files on install 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 JS	:= ../js/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # The compiler script 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 JTALKC	:= ../bin/jtalkc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Generic flags to JTALKC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-FLAGS   := -g 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+FLAGS   := -d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # All corresponding js filenames for every st file available 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # In other words, if we have Kernel.st and Parser.st, then OBJECTS will be "Kernel.js Parser.js" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 OBJECTS := $(patsubst %.st,%.js,$(wildcard *.st)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Default make target since it is the first target in this Makefile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-all: jtalk.deploy.js jtalk.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+all: Examples.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Step by step 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26,15 +25,11 @@ all: jtalk.deploy.js jtalk.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 boot.js init.js: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	cp ../js/$@ . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Then we compile Kernel.st using boot.js, Kernel.js, init.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Then we compile Kernel.st depending on having using boot.js and init.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # $< means the first dependency - in other words Kernel.st 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Kernel.js: Kernel.st boot.js init.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(JTALKC) $(FLAGS) $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# And one for deployment, no flags. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-deploy-Kernel.js: Kernel.st boot.js init.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(JTALKC) -p deploy- $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # ...then Parser, but using the new Kernel from step above. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # We only need to depend on Kernel.js since it in turn depends on boot.js and init.js. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Parser.js: Parser.st Kernel.js 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -46,8 +41,8 @@ Compiler.js: Compiler.st Parser.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(JTALKC) $(FLAGS) $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # ...now that we have a new Kernel/Parser/Compiler we use them 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# to compile the rest of st files that only depend on Compiler, like 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# for example Canvas.js, Benchfib.js etc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# to compile the rest of st files presuming that they only depend on Compiler, like 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# for example Canvas.js and Benchfib.js. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 %.js: %.st Compiler.js  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	$(JTALKC) $(FLAGS) $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57,37 +52,26 @@ Compiler.js: Compiler.st Parser.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # JQuery uses Canvas 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 JQuery.js: JQuery.st Canvas.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(JTALKC) $(FLAGS) -l Canvas.js $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(JTALKC) $(FLAGS) -l Canvas $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # IDE uses JQuery 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 IDE.js: IDE.st JQuery.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(JTALKC) $(FLAGS) -l Canvas.js,JQuery.js $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(JTALKC) $(FLAGS) -l Canvas,JQuery $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # The SUnit TestRunner uses UI stuff from IDE. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 SUnit.js: SUnit.st IDE.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(JTALKC) $(FLAGS) -l Canvas.js,JQuery.js,IDE.js $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(JTALKC) $(FLAGS) -l Canvas,JQuery,IDE $< 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Some Examples use SUnit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Examples.js: Examples.st SUnit.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(JTALKC) $(FLAGS) -l Canvas.js,JQuery.js,IDE.js,SUnit.js $<; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# This is the deployment target with only the Jtalk Kernel compiled without -g. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Then we push it all through Closure (-O) and add init.js at end (-I). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-jtalk.deploy.js: boot.js init.js deploy-Kernel.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(JTALKC) -O -I boot.js deploy-Kernel.js jtalk.deploy; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Full IDE compiled with -g. We do not clean away objects at end. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Here we give -J (will include all  libs for Jtalk IDE), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# push it all through Closure (-O) and add init.js at end (-I). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-jtalk.js: boot.js init.js $(OBJECTS) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$(JTALKC) -J -O -I jtalk; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	$(JTALKC) $(FLAGS) -l Canvas,JQuery,IDE,SUnit $<; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Installing is simply copying all js files to js directory. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 install: all 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	cp *.js $(JS) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# And cleaning is trivial 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# And cleaning is trivial also 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 clean: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	rm -f *.js;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |