mirror of
https://github.com/ra3xdh/qucs_s
synced 2025-03-28 21:13:26 +00:00
76 lines
1.8 KiB
Bash
Executable File
76 lines
1.8 KiB
Bash
Executable File
#! /bin/sh
|
|
#
|
|
# qucsdigilib - wrapper script for digital modules and libraries
|
|
#
|
|
# Copyright (C) 2009 Stefan Jahn <stefan@lkcc.org>
|
|
#
|
|
# This is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2, or (at your option)
|
|
# any later version.
|
|
#
|
|
# This software is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this package; see the file COPYING. If not, write to
|
|
# the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
|
|
# Boston, MA 02110-1301, USA.
|
|
#
|
|
|
|
# Bail out on any error
|
|
set -e
|
|
|
|
# catch termination signal and kill all child processes
|
|
#trap 'kill 0; exit 0' SIGTERM
|
|
|
|
if [ "$#" != 4 ]; then
|
|
echo "Usage: $0 <netlist.txt> <directory> <entity> <library>"
|
|
echo "Directory has to contain the file 'netlist.txt'."
|
|
exit 1
|
|
fi
|
|
|
|
NAME=$1
|
|
DIR=$2
|
|
ENTITY=$3
|
|
LIBRARY=$4
|
|
|
|
if [ ! -d "$DIR" ]; then
|
|
echo "$DIR: Not a directory"
|
|
exit 1
|
|
fi
|
|
|
|
cd $DIR
|
|
|
|
if [ ! -f $NAME ]; then
|
|
echo "$NAME: No such file"
|
|
exit 1
|
|
fi
|
|
|
|
CXX=`freehdl-config --cxx`
|
|
CXXFLAGS=`freehdl-config --cxxflags`
|
|
AR=ar
|
|
RANLIB=ranlib
|
|
|
|
cp $NAME $ENTITY.vhdl
|
|
NAME=$ENTITY
|
|
|
|
echo -n "running C++ conversion..."
|
|
freehdl-v2cc -l$LIBRARY -Lvhdl -o $NAME.cc $NAME.vhdl
|
|
echo " done."
|
|
|
|
echo -n "compiling functions..."
|
|
$CXX $CXXFLAGS -c $NAME.cc
|
|
echo " done."
|
|
|
|
echo -n "copying module to VHDL directory..."
|
|
cp $NAME.o vhdl/$LIBRARY
|
|
echo " done."
|
|
|
|
echo -n "updating VHDL library..."
|
|
$AR cru vhdl/lib$LIBRARY.a vhdl/$LIBRARY/*.o
|
|
$RANLIB vhdl/lib$LIBRARY.a
|
|
echo " done."
|