| #!/bin/bash | 
 | # SPDX-FileCopyrightText: 2020 Efabless Corporation | 
 | # | 
 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
 | # you may not use this file except in compliance with the License. | 
 | # You may obtain a copy of the License at | 
 | # | 
 | #      http://www.apache.org/licenses/LICENSE-2.0 | 
 | # | 
 | # Unless required by applicable law or agreed to in writing, software | 
 | # distributed under the License is distributed on an "AS IS" BASIS, | 
 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | # See the License for the specific language governing permissions and | 
 | # limitations under the License. | 
 | # SPDX-License-Identifier: Apache-2.0 | 
 |  | 
 | # To use: sh apply_caravel.sh <target_project_path> <template_caravel_path> | 
 |  | 
 | target_project=$1 | 
 | original_caravel=$2 | 
 |  | 
 | find $original_caravel/def/* -type f ! -name "user_project_wrapper.def" ! -name "user_proj_example.def" -exec cp {} $target_project/def \; | 
 | find $original_caravel/lef/* -type f ! -name "user_project_wrapper.lef" ! -name "user_proj_example.lef" -exec cp {} $target_project/lef \; | 
 | find $original_caravel/gds/* -type f ! -name "user_project_wrapper.gds.gz" ! -name "user_proj_example.gds.gz" ! -name "user_project_wrapper.gds" ! -name "user_proj_example.gds" -exec cp {} $target_project/gds \; | 
 | find $original_caravel/mag/* -type f ! -name "user_project_wrapper.mag" ! -name "user_proj_example.mag" -exec cp {} $target_project/mag \; | 
 | cp $original_caravel/mag/.magicrc $target_project/mag/ | 
 | mkdir -p $target_project/mag/hexdigits/ | 
 | mv $target_project/mag/alpha_*.mag $target_project/mag/hexdigits/ | 
 | cp $original_caravel/maglef/* $target_project/maglef | 
 | cp -r $original_caravel/ngspice/digital_pll $target_project/ngspice/digital_pll | 
 | cp -r $original_caravel/ngspice/simple_por $target_project/ngspice/simple_por | 
 | cp -r $original_caravel/scripts $target_project/scripts | 
 | find $original_caravel/spi/lvs/* -type f ! -name "user_project_wrapper.spice" ! -name "user_proj_example.spice" -exec cp {} $target_project/spi/lvs/ \; | 
 | cp -r $original_caravel/utils $target_project/utils | 
 | find $original_caravel/verilog/rtl/* -type f ! -name "user_project_wrapper.v" ! -name "user_proj_example.v" -exec cp {} $target_project/verilog/rtl/ \; | 
 | find $original_caravel/verilog/gl/* -type f ! -name "user_project_wrapper.v" ! -name "user_proj_example.v" -exec cp {} $target_project/verilog/gl/ \; | 
 | cp $original_caravel/verilog/stubs/*.v $target_project/verilog/stubs/ | 
 | cp -r $original_caravel/verilog/dv/caravel $target_project/verilog/dv/caravel | 
 | cp -r $original_caravel/verilog/dv/wb_utests $target_project/verilog/dv/wb_utests | 
 | cp $original_caravel/verilog/dv/dummy_slave.v $target_project/verilog/dv/dummy_slave.v | 
 |  | 
 | echo "You'll have to manually copy the openlane/user_project_wrapper configs based on your preference." | 
 | echo "You'll have to manually copy the openlane/Makefile based on your preference." | 
 | echo "You'll have to manually copy the Makefile based on your preference." |