Makefile 4.22 KB
#***************************************************************************************************
#                                             Makefile                                             *
#                                            ----------                                            *
# Description : House-keeping for the GNU Spice GUI Project example schematic files.               *
# Started     : 2004-01-20                                                                         *
# Last update : 2015-01-09                                                                         *
# Copyright   : (C) 2004 by MSWaters                                                               *
#***************************************************************************************************

#***************************************************************************************************
#                                                                                                  *
#       This program 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 3 of the License, or (at your option) any later version.                    *
#                                                                                                  *
#***************************************************************************************************

#***************************************************************************************************
# Any or all of the values in this section may be set below or on the command line when envoking
# make eg. :
#
#   make DESTDIR=/new/dest/dir install
#   make DESTDIR=/new/dest/dir uninstall
#
# Note : Values specified on the command line over-ride those specified below.
#***************************************************************************************************

# Destination (install) directory
DESTDIR = /usr/local

#***************************************************************************************************
# Specify string values
#***************************************************************************************************

# Root directory
ROOT := $(shell pwd)

# Objects
OBJS := $(patsubst %.sch, %.ckt, $(wildcard */*.sch))

#***************************************************************************************************
# Make these targets
#***************************************************************************************************

all : $(OBJS)

# Schematic to netlist conversion rules :
#   -v  verbose mode (gives as much feedback to the user as possible)
#   -q  quiet   mode (turns off all warnings / notes / messages)
#   -g  the guile procedure executed to create the netlist
#   -o  place output file in $@
#   $<  is the name of the first dependency
#   $@  is the file name of the target

%.ckt : %.sch
	@cd $(dir $<) ; gnetlist -g spice-sdb -o $(notdir $@) $(notdir $<)
	@echo

#***************************************************************************************************
# Perform installation tasks
#***************************************************************************************************

install :
	cp -r $(ROOT) $(DESTDIR)/share/gspiceui

#***************************************************************************************************
# Perform uninstall tasks
#***************************************************************************************************

uninstall :
	rm -fr $(DESTDIR)/share/gspiceui/sch

##**************************************************************************************************
# Remove temporary files and backup files
#***************************************************************************************************

clean :
	rm -f Makefile~ */*.gnucap.?? */*.ngspice.?? */*.ckt */*.sim */*.log */*.sch~

#***************************************************************************************************
# Specify phony targets
#***************************************************************************************************

.PHONY : install uninstall clean

#***************************************************************************************************