| SHELL:=csh | 
 |  | 
 | PROD_PATH:="PATH_TO_PROD_REPO" | 
 | VARIANT:="18T_ms" | 
 |  | 
 | .PHONY: all do clean_char clean_design clean char design push_prod | 
 |  | 
 | all: do | 
 |  | 
 | do: char design | 
 |  | 
 | char: | 
 | 	-@cd lib && make magic pex VARIANT=${VARIANT} | 
 | 	-@cd char && make VARIANT=${VARIANT} | 
 |  | 
 | design: | 
 | 	@cd flow/synth_snps && make synth VARIANT=${VARIANT} | 
 | 	@cd flow/pnr && make all VARIANT=${VARIANT} | 
 | 	@cp flow/pnr/final.gds outputs/ | 
 | 	@cp flow/pnr/final.gds lib/gds/ | 
 |  | 
 | clean: clean_char clean_design | 
 |  | 
 | clean_char: | 
 | 	-@cd char && make clean | 
 |  | 
 | clean_design: | 
 | 	-@cd flow/synth_snps && make clean | 
 | 	-@cd flow/pnr && make clean && ./clean_me.csh | 
 |  | 
 | push_prod: | 
 | 	@mkdir -p $(PROD_PATH) | 
 | 	@cp -r Makefile $(PROD_PATH) | 
 | 	@cp -r sourceme $(PROD_PATH) | 
 | 	@cp -r char $(PROD_PATH) | 
 | 	@cp -r lib $(PROD_PATH) | 
 | 	@cp -r outputs $(PROD_PATH) | 
 | 	@mkdir -p $(PROD_PATH)/flow | 
 | 	@cp -r flow/pnr $(PROD_PATH)/flow/pnr | 
 | 	@cp -r flow/synth_snps $(PROD_PATH)/flow/synth_snps | 
 | 	@rm -rf $(PROD_PATH)/flow/synth_snps/hdl/* |