108 lines
2.9 KiB
Makefile
108 lines
2.9 KiB
Makefile
# list all .c files that need to be compiled into object and linked in xschem
|
|
put /local/src {
|
|
icon.c callback.c actions.c move.c check.c clip.c draw.c globals.c
|
|
main.c netlist.c hash_iterator.c findnet.c scheduler.c store.c xinit.c
|
|
select.c font.c editprop.c save.c paste.c token.c psprint.c node_hash.c
|
|
hilight.c options.c vhdl_netlist.c svgdraw.c spice_netlist.c
|
|
tedax_netlist.c verilog_netlist.c parselabel.c expandlabel.c
|
|
in_memory_undo.c cairo_jpg.c
|
|
}
|
|
|
|
# list all files that need to be installed in "$(XSHAREDIR)"
|
|
put /local/install_shares {
|
|
keys.help xschem.help xschem.tcl break.awk convert_to_verilog2001.awk
|
|
flatten.awk flatten_tedax.awk flatten_savenodes.awk make_sym.awk make_sym_lcc.awk
|
|
symgen.awk order_labels.awk sort_labels.awk spice.awk tedax.awk verilog.awk
|
|
vhdl.awk hspice_backannotate.tcl add_custom_menu.tcl create_graph.tcl
|
|
add_custom_button.tcl change_index.tcl icon.xpm resources.tcl xschemrc
|
|
ngspice_backannotate.tcl gschemtoxschem.awk traversal.tcl mouse_bindings.tcl
|
|
place_sym_pins.tcl place_pins.tcl make_sch_from_spice.awk make_sym_from_spice.awk
|
|
}
|
|
|
|
# generate a list of objects from the list of source files
|
|
put /local/obj [@@/local/src@ @]
|
|
gsub /local/obj {\n} { }
|
|
gsub /local/obj {[.]c } {.o }
|
|
|
|
print [@
|
|
###############################################################
|
|
# Generated by scconfig - DO NOT EDIT - will be overwritten #
|
|
# Source: Makefile.in; to regenerate run ./configure #
|
|
###############################################################
|
|
|
|
ROOT = ..
|
|
OBJ = @/local/obj@
|
|
|
|
all: xschem rawtovcd
|
|
|
|
include $(ROOT)/Makefile.conf
|
|
|
|
rawtovcd: rawtovcd.o
|
|
$(CC) -o rawtovcd rawtovcd.o -lm
|
|
|
|
xschem: $(OBJ)
|
|
$(CC) -o xschem $(OBJ) $(LDFLAGS)
|
|
|
|
parselabel.c: parselabel.l expandlabel.h
|
|
flex -l -oparselabel.c parselabel.l
|
|
|
|
expandlabel.c expandlabel.h: expandlabel.y
|
|
bison -d -o expandlabel.c expandlabel.y
|
|
|
|
parselabel.o: expandlabel.h
|
|
|
|
$(OBJ): xschem.h ../config.h Makefile
|
|
|
|
clean: FORCE
|
|
rm -rf rawtovcd xschem *.o expandlabel.[ch] parselabel.c
|
|
|
|
# Explicit rule for each object:
|
|
@]
|
|
|
|
foreach /local/n in /local/src
|
|
put /local/o /local/n
|
|
sub /local/o {.c$} {.o}
|
|
print [@
|
|
@/local/o@: @/local/n@
|
|
$(CC) -c $(CFLAGS) -o @/local/o@ @/local/n@
|
|
@]
|
|
end
|
|
print [@
|
|
rawtovcd.o: rawtovcd.c
|
|
$(CC) -c $(CFLAGS) -o rawtovcd.o rawtovcd.c
|
|
@]
|
|
|
|
print [@
|
|
|
|
install: xschem rawtovcd FORCE
|
|
$(SCCBOX) mkdir -p "$(BINDIR)"
|
|
$(SCCBOX) mkdir -p "$(XSHAREDIR)"
|
|
$(SCCBOX) install -f xschem "$(BINDIR)"/xschem
|
|
$(SCCBOX) install -f rawtovcd "$(BINDIR)"/rawtovcd
|
|
$(SCCBOX) install -f -d systemlib/* "$(XSHAREDIR)"/systemlib @]
|
|
|
|
foreach /local/n in /local/install_shares
|
|
print [@
|
|
$(SCCBOX) install -f @/local/n@ "$(XSHAREDIR)"/@/local/n@ @]
|
|
end
|
|
|
|
print [@
|
|
|
|
distclean: clean
|
|
|
|
uninstall: FORCE
|
|
$(SCCBOX) rm "$(BINDIR)"/xschem
|
|
$(SCCBOX) rm "$(BINDIR)"/rawtovcd
|
|
$(SCCBOX) rm "$(XSHAREDIR)"/systemlib/*@]
|
|
|
|
foreach /local/n in /local/install_shares
|
|
print [@
|
|
$(SCCBOX) rm "$(XSHAREDIR)"/@/local/n@ @]
|
|
end
|
|
|
|
print [@
|
|
|
|
FORCE:
|
|
|
|
@]
|