Commit Graph

29 Commits

Author SHA1 Message Date
Darryl L. Miles 3aebbbd038 Makefile: various consistency matters
Using defined variables ${RM} for common tools
error handling
ensuring default target (is not install)
2025-07-29 10:50:32 -04:00
Darryl L. Miles 8b7e0aaec6 Makefile: whitespace only change 2025-07-29 10:50:32 -04:00
Torleif Skår f76826eff8 cif_templates: Fix Makefile race condition with objs directory creation
Fixes racy-ness seen intermittently when building,
where the objs folder doesn't exist when
targets try to write to it.
2025-07-27 12:53:02 -04:00
Ryan Schmidt 4c4b0e301b Resolve -Wcomment warnings
Resolve -Wcomment warnings like:

./cifin-cmos14b.gen:2:1: warning: '/*' within block comment [-Wcomment]
2022-04-13 08:33:45 -04:00
Tim Edwards 3c42c5a7f3 Corrected the extraction method for devices with terminals on the
implicit global substrate, as a block of code meant to handle this
case was left unreachable by another recent code fix.
2021-01-21 09:57:03 -05:00
Tim Edwards 647b7cc6c7 Corrected one small inconsistency in the handling of symmetric vs.
asymmetric MOSFET definitions in the tech file "extract" section.
Corrected the nmos.tech.in file to put the resistance classes in
plane order, as otherwise the interpretation of which resistance
classes belongs to the transistor source and drain can get messed
up by the presence of buried contacts.
2021-01-17 12:52:57 -05:00
Tim Edwards e7e01a635f Modified the behavior of "gds write" to refuse to write out the
magic database derived layout of a cell that declares GDS_FILE
but for which the GDS file referenced cannot be found or read.
This will produce an incomplete GDS file instead of an apparently
good and complete GDS file that actually contains bad data.  Also:
Added new command "random" that allows a random seed to be set,
for use with the GDS output when writing a full dump of a GDS
file.  Otherwise, the output prefixes are always the same, which
defeats the purpose of adding the random prefix.
2021-01-15 12:40:20 -05:00
Tim Edwards 8428dcda1b Added the old (very old!) nmos.tech file from the early days of
magic (version 6.3) and lightly edited it to make it compatible
with version 8.3.  Edited the scmos/Makefile so that it installs
with the rest of the distributed tech files.
2021-01-14 17:01:23 -05:00
Tim Edwards 421ff1fa0d Removed a temporary diagnostic output file that ended up in the
last commit by mistake.
2020-02-19 14:49:55 -05:00
Tim Edwards 2db6a6849a Finally rid myself of the C preprocessor. Took a moderately-developed
preproc.py script from another project.  Had to further develop it to
get around the amazingly complicated preprocessor usage in the scmos
subdirectory.  Needed to add handling of parameterized definitions;
could not figure out how to align the syntax used in scmos/extract_template
with any consistent syntax.  Gave up and rewrote some of the contents of
extract_template to avoid the more ambiguous usage.  All of this is to
support a completely deprecated scmos.tech.  However, it does avoid both
the M4 and cpp preprocessors altogether.  Also did auto-detection of
python3 in the configure script for use of the preproc.py preprocessor,
and applied the same preprocessor to the macro definitions.
2020-02-19 14:25:58 -05:00
Tim Edwards da7cc2096d Missed a number of Makefiles in directories two levels down. 2020-01-28 13:10:31 -05:00
Tim Edwards bc00b5578b Implemented a new configuration variable "dist_prefix" for
distributed installations, where the immediate installation location
is different from the final installation location, but in the case
where it is not desirable to put the entire install hierarchy as a
subdirectory of DESTDIR.
2020-01-28 10:40:01 -05:00
Tim Edwards 5693729ad5 Added code to avoid mishandling negative layer numbers when a
label in a DEF file is on a layer that has not been properly
mapped to a magic layer.  This would apply a negative index to
a TileType bitmask and crash the program.  Also:  Changed the
style and colormap slightly to make the via2 and via4 styles
more visible.
2019-02-14 12:19:50 -05:00
Tim Edwards 741df0fe01 Removed the "macosx" definition from the configuration file, which
got copied over from another project but apprently causes serious
issues with the OSX compilation.
2017-10-14 18:42:24 -04:00
Tim Edwards cfccdb84c1 Rewrote the configuration scripts, makefiles, and some initialization
routines to use the Tcl and Tk stubs libraries.
2017-10-13 10:28:07 -04:00
Tim Edwards 1d3bb0d698 Corrected problems having to do with color (blue and green were swapped)
and incorrect call to cairo_set_source_rgba which is in an unused
function and has no effect except with versions of Tcl less than 8.6
where "load -lazy" is not available and unknown functions cause
immediate exit.  Cleaned up remaining references to OpenGL in the
Cairo code, and updated the copyright and acknowledged Chuan Chen, who
coded the Cairo interface.  No attempt yet to deal with memory leaks
caused by calling Cairo "create" functions without the accompanying
"destroy" functions.
2017-09-12 15:42:08 -04:00
Chuan Chen 683892981c Remote changes at Mon Sep 4 23:20:22 EDT 2017 by chuan on vivaldi 2017-09-04 23:20:22 -04:00
Chuan Chen 1bda1206db Remote changes at Fri Sep 1 14:41:47 EDT 2017 by chuan on vivaldi 2017-09-01 14:41:47 -04:00
Tim Edwards 21d558c67d Changed the definition of CPP again so that even in the absence of
the python preprocessor version, the techfiles and .magicrc file
will get the correct arguments, without affecting the use of CPP
in the configure script.
2017-09-01 08:40:58 -04:00
Chuan Chen a40c1f21a7 Remote changes at Wed Aug 30 16:34:42 EDT 2017 by chuan on vivaldi 2017-08-30 16:34:42 -04:00
Chuan Chen 432777a5b1 Remote changes at Tue Aug 29 12:55:06 EDT 2017 by chuan on vivaldi 2017-08-29 12:55:06 -04:00
Chuan Chen 2cf9f82447 Remote changes at Tue Aug 29 12:52:57 EDT 2017 by chuan on vivaldi 2017-08-29 12:52:57 -04:00
Chuan Chen 405738d27a Merge branch 'master' into work
Conflicts:
	defs.mak
	scripts/config.log
	scripts/config.status
	scripts/defs.mak

Merged using local version (ours)
2017-08-25 14:23:08 -04:00
Chuan Chen 2aaa1667ac Remote changes at Fri Aug 25 14:23:05 EDT 2017 by chuan on vivaldi 2017-08-25 14:23:05 -04:00
Tim Edwards 7aebad285d Corrected the configure.in and defs.mak.in file so that the
python3 preprocessor is captured in the variable MCPP, not CPP,
since CPP is meaningful to the make process.  Also, the
MAGICDIR variable in the name needed to be escaped so that the
variable is not evaluated within the configure script.
2017-08-25 14:13:30 -04:00
Chuan Chen e4b6825b95 Remote changes at Thu Aug 24 17:50:54 EDT 2017 by chuan on vivaldi 2017-08-24 17:50:54 -04:00
Chuan Chen 77da51d416 Remote changes at Thu Aug 24 17:24:48 EDT 2017 by chuan on vivaldi 2017-08-24 17:24:48 -04:00
Tim Edwards 088fc759c4 Set of changes updating version 8.2 to the level of 8.1, since 8.2
development had been halted since it was first created back in April.
Version 8.2 is now the official development version, with the first
development push to create a Cairo graphics interface.
2017-08-01 22:14:42 -04:00
Tim Edwards 231a299b16 Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00