1#
2# Makefile redesigned for irsim-9.7
3#
4
5IRSIMDIR = .
6PROGRAMS = irsim
7LIBRARIES =
8MODULES  = base analyzer
9
10MAKEFLAGS  =
11INSTALL_CAD_DIRS = lib doc
12
13-include defs.mak
14
15all:	$(ALL_TARGET)
16
17standard:
18	@echo --- errors and warnings logged in file make.log
19	@${MAKE} mains 2>&1 | tee -a make.log
20
21tcl:
22	@echo --- errors and warnings logged in file make.log
23	@${MAKE} tcllibrary 2>&1 | tee -a make.log
24
25force:	clean all
26
27defs.mak:
28	@echo No \"defs.mak\" file found.  Run "configure" to make one.
29
30config:
31	${IRSIMDIR}/configure
32
33tcllibrary: modules
34	@echo --- making Tcl shared-object libraries
35	for dir in ${PROGRAMS}; do \
36		(cd $$dir && ${MAKE} tcl-main); done
37
38mains: modules
39	@echo --- making main programs
40	for dir in ${PROGRAMS}; do \
41		(cd $$dir && ${MAKE} main); done
42
43modules:
44	@echo --- making modules
45	for dir in ${MODULES}; do \
46		(cd $$dir && ${MAKE} module); done
47
48libs:
49	@echo --- making libraries
50	for dir in ${LIBRARIES}; do \
51		(cd $$dir && ${MAKE} lib); done
52
53depend:
54	for dir in ${MODULES} ${PROGRAMS}; do \
55		(cd $$dir && ${MAKE} depend); done
56
57install: $(INSTALL_TARGET)
58
59install-irsim:
60	@echo --- installing executables to $(DESTDIR)${INSTALL_BINDIR}
61	@echo --- installing run-time files to $(DESTDIR)${INSTALL_LIBDIR}
62	@${MAKE} install-real >> install.log
63
64install-real: install-dirs
65	for dir in ${INSTALL_CAD_DIRS}; do \
66		(cd $$dir && ${MAKE} install); done
67	for dir in ${PROGRAMS}; do \
68		(cd $$dir && ${MAKE} install); done
69
70install-tcl-dirs:
71	${IRSIMDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} $(DESTDIR)${INSTALL_MANDIR} \
72		$(DESTDIR)${INSTALL_TCLDIR} $(DESTDIR)${INSTALL_PRMDIR} $(DESTDIR)${INSTALL_XBMDIR}
73
74install-dirs:
75	${IRSIMDIR}/scripts/mkdirs $(DESTDIR)${INSTALL_BINDIR} $(DESTDIR)${INSTALL_MANDIR} \
76		$(DESTDIR)${INSTALL_PRMDIR}
77
78install-tcl:
79	@echo --- installing executables to $(DESTDIR)${INSTALL_BINDIR}
80	@echo --- installing run-time files to $(DESTDIR)${INSTALL_LIBDIR}
81	@${MAKE} install-tcl-real 2>&1 >> install.log
82
83install-tcl-real: install-tcl-dirs
84	for dir in ${INSTALL_CAD_DIRS} ${PROGRAMS}; do \
85		(cd $$dir && ${MAKE} install-tcl); done
86
87clean:
88	for dir in ${MODULES} ${PROGRAMS} ${UNUSED_MODULES}; do \
89		(cd $$dir && ${MAKE} clean); done
90	${RM} *.log
91
92distclean:
93	touch defs.mak
94	@${MAKE} clean
95	${RM} defs.mak old.defs.mak ${IRSIMDIR}/scripts/defs.mak
96	${RM} ${IRSIMDIR}/scripts/default.conf
97	${RM} ${IRSIMDIR}/scripts/config.log ${IRSIMDIR}/scripts/config.status
98	${RM} scripts/irsim.spec irsim-`cat VERSION` irsim-`cat VERSION`.tgz
99
100dist:
101	${RM} scripts/irsim.spec irsim-`cat VERSION` irsim-`cat VERSION`.tgz
102	sed -e /@VERSION@/s%@VERSION@%`cat VERSION`% \
103	    scripts/irsim.spec.in > scripts/irsim.spec
104	ln -nsf . irsim-`cat VERSION`
105	tar zchvf irsim-`cat VERSION`.tgz --exclude CVS \
106	    --exclude irsim-`cat VERSION`/irsim-`cat VERSION` \
107	    --exclude irsim-`cat VERSION`/irsim-`cat VERSION`.tgz \
108	    irsim-`cat VERSION`
109
110clean-mains:
111	for dir in ${PROGRAMS}; do \
112		(cd $$dir && ${RM} $$dir}; done
113
114tags:
115	${RM} tags
116