diff src/Makefile.in @ 529:7ea224e713cd

[project @ 1994-07-20 18:54:27 by jwe]
author jwe
date Wed, 20 Jul 1994 19:19:08 +0000
parents 68c580e45518
children 9d18b9b9f449
line wrap: on
line diff
--- a/src/Makefile.in	Wed Jul 20 18:53:50 1994 +0000
+++ b/src/Makefile.in	Wed Jul 20 19:19:08 1994 +0000
@@ -22,7 +22,7 @@
 
 %.cc : %.y
 	$(YACC) $(YFLAGS) $<
-	mv y.tab.c $(@F)
+	@$(top_srcdir)/move-if-change y.tab.c $(@F)
 
 # Likewise for .c from .l.
 
@@ -31,69 +31,100 @@
 %.cc : %.l
 	$(LEX) $(LFLAGS) $< > $(@F)
 
-INCLUDES = arith-ops.h builtins.h dynamic-ld.h defaults.h.in \
-	defaults.h error.h f-balance.h f-chol.h f-colloc.h f-dassl.h \
-	f-det.h f-eig.h f-expm.h f-fft.h f-fsolve.h f-fsqp.h f-givens.h \
-	f-hess.h f-ifft.h f-inv.h f-lpsolve.h f-lsode.h f-lu.h \
-	f-npsol.h f-qpsol.h f-qr.h f-quad.h f-qzval.h f-rand.h \
-	f-schur.h f-svd.h f-syl.h file-io.h fnmatch.h g-builtins.h \
-	getopt.h gripes.h help.h idx-vector.h input.h lex.h mappers.h \
-	missing-math.h octave.h octave-hist.h oct-obj.h pager.h parse.h \
-	pr-output.h procstream.h sighandlers.h statdefs.h symtab.h \
-	sysdep.h t-builtins.h token.h tree.h tree-cmd.h tree-const.h \
-	tree-expr.h tree-plot.h tc-rep.h unwind-prot.h user-prefs.h \
-	utils.h variables.h version.h xdiv.h xpow.h SLStack.h Stack.h
+%.def : %.cc
+	@echo making $@ from $<
+	@$(CXXCPP) -c $(CPPFLAGS) $(ALL_CXXFLAGS) -DMAKE_BUILTINS $< \
+	  | $(srcdir)/mkdefs > $@.tmp
+	@mv $@.tmp $@
+
+DLD_SRC = f-balance.cc f-chol.cc f-colloc.cc f-dassl.cc f-det.cc \
+	f-eig.cc f-expm.cc f-fft.cc f-find.cc \
+	f-fsolve.cc f-fsqp.cc f-givens.cc f-hess.cc f-ifft.cc \
+	f-inv.cc f-log.cc f-lpsolve.cc f-lsode.cc f-lu.cc \
+	f-minmax.cc f-npsol.cc f-qpsol.cc f-qr.cc f-quad.cc f-qzval.cc \
+	f-rand.cc f-schur.cc f-sort.cc f-svd.cc f-syl.cc
+
+
+DLD_OBJ = f-balance.o f-chol.o f-colloc.o f-dassl.o f-det.o f-eig.o \
+	f-expm.o f-fft.o f-find.o f-fsolve.o \
+	f-fsqp.o f-givens.o f-hess.o f-ifft.o f-inv.o \
+	f-log.o f-lpsolve.o f-lsode.o f-lu.o f-minmax.o f-npsol.o \
+	f-qpsol.o f-qr.o f-quad.o f-qzval.o f-rand.o f-schur.o \
+	f-sort.o f-svd.o f-syl.o
 
-SOURCES = arith-ops.cc builtins.cc dynamic-ld.cc error.cc f-chol.cc \
-	f-colloc.cc f-balance.cc f-dassl.cc f-det.cc f-eig.cc \
-	f-expm.cc f-fft.cc f-fsolve.cc f-fsqp.cc f-givens.cc \
-	f-hess.cc f-ifft.cc f-inv.cc f-lpsolve.cc f-lsode.cc f-lu.cc \
-	f-npsol.cc f-qpsol.cc f-qr.cc f-quad.cc f-qzval.cc f-rand.cc \
-	f-schur.cc f-svd.cc f-syl.cc file-io.cc	fnmatch.c \
-	g-builtins.cc getopt.c getopt1.c gripes.cc help.cc \
-	idx-vector.cc input.cc lex.l mappers.cc octave.cc \
-	octave-hist.cc pager.cc parse.y pr-output.cc procstream.cc \
-	sighandlers.cc strcasecmp.c strncase.c symtab.cc sysdep.cc \
-	t-builtins.cc token.cc tree-cmd.cc tree-const.cc tree-expr.cc \
-	tree-plot.cc tc-rep.cc unwind-prot.cc user-prefs.cc utils.cc \
-	variables.cc xdiv.cc xpow.cc SLStack.cc
+INCLUDES = arith-ops.h builtins.h defaults.h.in defun.h defun-dld.h \
+	defun-int.h dirfns.h dynamic-ld.h error.h file-io.h fnmatch.h \
+	getopt.h gripes.h help.h idx-vector.h input.h lex.h mappers.h \
+	missing-math.h octave.h octave-hist.h \
+	oct-obj.h pager.h parse.h pr-output.h procstream.h \
+	sighandlers.h statdefs.h symtab.h sysdep.h token.h tree.h \
+	tree-base.h tree-cmd.h tree-const.h tree-expr.h tree-plot.h \
+	tc-rep.h unwind-prot.h user-prefs.h utils.h variables.h \
+	version.h xdiv.h xpow.h SLStack.h Stack.h
 
-DEP_SOURCES_2 = $(patsubst %.l, %.cc, $(SOURCES))
+SOURCES = arith-ops.cc data.cc dirfns.cc dynamic-ld.cc \
+	error.cc file-io.cc fnmatch.c getopt.c getopt1.c gripes.cc \
+	help.cc idx-vector.cc input.cc lex.l mappers.cc octave.cc \
+	oct-obj.cc octave-hist.cc pager.cc parse.y pr-output.cc \
+	procstream.cc sighandlers.cc strcasecmp.c strncase.c symtab.cc \
+	sysdep.cc tc-rep.cc timefns.cc token.cc tree-cmd.cc \
+	tree-const.cc tree-expr.cc tree-plot.cc unwind-prot.cc \
+	user-prefs.cc utils.cc variables.cc xdiv.cc xpow.cc SLStack.cc \
+	$(DLD_SRC)
+
+# Ugh.
+
+DEP_SOURCES_2 = $(patsubst %.l, %.cc, $(SOURCES)) builtins.cc
 DEP_SOURCES_1 = $(patsubst %.y, %.cc, $(DEP_SOURCES_2))
 DEP_SOURCES = $(patsubst %.c, %.d, $(DEP_SOURCES_1))
 MAKEDEPS = $(patsubst %.cc, %.d, $(DEP_SOURCES))
 
-DLD_OBJECTS = f-balance.o f-chol.o f-colloc.o f-dassl.o f-det.o \
-	f-eig.o f-expm.o f-fft.o f-fsolve.o f-fsqp.o f-givens.o \
-	f-hess.o f-ifft.o f-inv.o f-lpsolve.o f-lsode.o f-lu.o \
-	f-npsol.o f-qpsol.o f-qr.o f-quad.o f-qzval.o f-rand.o \
-	f-schur.o f-svd.o f-syl.o 
+DEF_FILES_4 = $(addprefix $(srcdir)/, $(SOURCES))
+DEF_FILES_3 = $(notdir $(shell grep -l "^DEFUN" $(DEF_FILES_4)))
+DEF_FILES_2 = $(patsubst %.y, %.def, $(DEF_FILES_3))
+DEF_FILES_1 = $(patsubst %.l, %.def, $(DEF_FILES_2))
+DEF_FILES = $(patsubst %.cc, %.def, $(DEF_FILES_1))
+
+# XXX FIXME XXX -- Should these be generated automatically from the
+# list of source files?
 
-OBJECTS = arith-ops.o builtins.o error.o file-io.o fnmatch.o \
-	g-builtins.o getopt.o getopt1.o gripes.o help.o idx-vector.o \
-	input.o lex.o mappers.o octave.o octave-hist.o pager.o \
-	parse.o pr-output.o procstream.o sighandlers.o strcasecmp.o \
-	strncase.o symtab.o sysdep.o t-builtins.o token.o tree-cmd.o \
-	tree-const.o tree-expr.o tree-plot.o tc-rep.o unwind-prot.o \
-	user-prefs.o utils.o variables.o xdiv.o xpow.o SLStack.o \
+OBJECTS = arith-ops.o builtins.o data.o dirfns.o error.o \
+	file-io.o fnmatch.o getopt.o getopt1.o gripes.o help.o \
+	idx-vector.o input.o lex.o mappers.o octave.o octave-hist.o \
+	oct-obj.o pager.o parse.o pr-output.o procstream.o sighandlers.o \
+	strcasecmp.o strncase.o symtab.o sysdep.o tc-rep.o timefns.o \
+	token.o tree-cmd.o tree-const.o tree-expr.o tree-plot.o \
+	unwind-prot.o user-prefs.o utils.o variables.o xdiv.o xpow.o \
+	SLStack.o \
 	@DYNAMIC_LD_OBJ@
 
-OCTAVE_LIBS = ../liboctave.a ../libcruft.a ../libinfo.a \
+OCTAVE_LIBS = @LIBOCTDLD@ ../liboctave.a ../libcruft.a ../libinfo.a \
 	../libreadline.a @LIBDLD@
 
-DISTFILES = Makefile.in move-if-change parse.cc lex.cc y.tab.h \
-	$(INCLUDES) $(SOURCES)
+DISTFILES = Makefile.in mkdefs mkbuiltins \
+	parse.cc lex.cc y.tab.h $(INCLUDES) $(SOURCES)
 
 all: defaults.h octave
 .PHONY: all
 
-octave: $(DLD_OBJECTS) $(OBJECTS) $(OCTAVE_LIBS) $(LIBOBJS)
+octave: $(OBJECTS) $(DLD_OBJ) $(LIBOBJS) $(OCTAVE_LIBS) ../liboctdld.a
 	$(CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(ALL_LDFLAGS) -o octave \
-	$(OBJECTS) @DLD_OBJECTS@ \
+	$(OBJECTS) \
 	$(OCTAVE_LIBS) \
 	$(LIBOBJS) \
 	$(FLIBS) $(LEXLIB) -ltermcap -lm -lg++
 
+../liboctdld.a: $(DLD_OBJ)
+	$(AR) $(ARFLAGS) ../liboctdld.a $(DLD_OBJ)
+	$(RANLIB) ../liboctdld.a
+
+builtins.cc: $(DEF_FILES) mkbuiltins
+	@echo making $@ from $(DEF_FILES)
+	@$(srcdir)/mkbuiltins $(DEF_FILES) > $@.tmp
+	@$(top_srcdir)/move-if-change $@.tmp $@
+
+$(DEF_FILES): mkdefs
+
 check: all
 .PHONY: check
 
@@ -115,7 +146,7 @@
 	etags $(SOURCES)
 
 clean:
-	rm -f *.a *.o
+	rm -f *.a *.o *.def builtins.cc
 .PHONY: clean
 
 mostlyclean:
@@ -142,13 +173,13 @@
 
 # Special rules -- these files need special things to be defined.
 
-defaults.h: ../Makeconf Makefile defaults.h.in
-	@echo "Making defaults.h from defaults.h.in..."
-	@(sed < $(srcdir)/defaults.h.in > defaults.h.tmp \
+defaults.h: defaults.h.in ../Makeconf Makefile
+	@echo "making defaults.h from defaults.h.in"
+	@(sed < $< > $@.tmp \
 	  -e 's;%DEFAULT_PAGER%;\"${DEFAULT_PAGER}\";' \
 	  -e 's;%OCTAVE_HOME%;\"${OCTAVE_HOME}\";' \
 	  -e 's;%OCTAVE_LIB_DIR%;\"${OCTAVE_LIB_DIR}\";' \
 	  -e 's;%OCTAVE_INFO_DIR%;\"${OCTAVE_INFO_DIR}\";')
-	@$(srcdir)/move-if-change defaults.h.tmp defaults.h
+	@$(top_srcdir)/move-if-change $@.tmp $@
 
 include $(MAKEDEPS)