| 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: | |
| @mkdir -p outputs | |
| -@cd lib && make magic pex VARIANT=${VARIANT} | |
| -@cd char && make VARIANT=${VARIANT} | |
| design: | |
| @mkdir -p outputs | |
| @cd flow/synth_snps && make synth VARIANT=${VARIANT} | |
| @cd flow && make change VARIANT=${VARIANT} | |
| @cd flow/pnr && make all | |
| @cd flow && make clean VARIANT=${VARIANT} | |
| @cp flow/pnr/final.gds outputs/ | |
| @cp flow/pnr/final.gds lib/gds/ | |
| clean: clean_lib clean_char clean_design | |
| clean_lib: | |
| -@cd lib && make clean | |
| 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/* |