dnl $Id: mkmi.m4,v 1.5 1994/03/08 22:54:37 ceder Exp $ dnl Create Makefile.in from Makefile.src dnl changequote([,])dnl define([LK_QUOTE],[[[$1]]])dnl dnl dnl LK_descend(cmd, deps, localcmd) expands to dnl dnl .PHONY: cmd dnl cmd: deps dnl localcmd dnl [code to perform cmd in $SUBDIRS] dnl dnl localcmd should typically be empty or contain commands to perform dnl cmd in the current directory. All lines in localcmd should begin dnl with a tab. dnl define([LK_descend], [[.PHONY: $1 $1: $2 $3 @for i in DuMmY $(SUBDIRS); do \ if test -f $$i/Makefile ; then \ echo making $1 in directory $$i; \ if (cd ./$$i; $(MAKE) $1); \ then true; else exit 1; fi ; \ else true; fi; \ done ]])dnl dnl define([LK_cmd],[[ $1 ]])dnl define([domostlyclean],[LK_cmd([$(RM) $(GENERIC-MOSTLYCLEAN)])])dnl define([doclean],)dnl define([dodistclean],[LK_cmd([$(RM) $(GENERIC-DISTCLEAN)])])dnl define([dorealclean],)dnl define([dopure],[LK_cmd([$(RM) $(GENERIC-PURE)])])dnl define([LK_CLEAN],[dnl [# Output from LK_CLEAN GENERIC-MOSTLYCLEAN = *.o lib*.a core Makefile.in2 GENERIC-PURE = Makefile.in configure GENERIC-DISTCLEAN = *~ .\#* TAGS dependencies Makefile] LK_descend([mostlyclean],[domostlyclean]) LK_descend([clean],[doclean]) LK_descend([distclean],[dodistclean]) LK_descend([realclean],[dorealclean]) LK_descend([pure],[dopure]) [dopure: dorealclean] dopure [dorealclean: dodistclean] dorealclean [dodistclean: doclean] dodistclean [doclean: domostlyclean] doclean [domostlyclean:] domostlyclean [# End output from LK_CLEAN]] )dnl End of LK_CLEAN dnl define([dodepend],)dnl define([predepend],)dnl dnl define([LK_ALL_C_DEPEND], [define([dodepend], [LK_cmd([$(CC) $(DEPENDFLAG) $(ALL_CFLAGS) $(srcdir)/*.c $(C_SPECIALS) \ >dependencies])])dnl define([predepend],[[$(C_SPECIALS)]])])dnl dnl define([LK_DEPEND],[[dependencies: touch dependencies] LK_descend([depend],predepend,dodepend)])dnl end LK_DEPEND dnl define([LK_INSTALL_HDRS], [[INSTALL-HDRS = $1 HDRS-DIR =$(INCLUDEDIR)$2] define([doincludes], [[ test -d $(HDRS-DIR) || $(MKDIR) $(HDRS-DIR) for i in $(INSTALL-HDRS) ; \ do if ( cmp $(srcdir)/$$i $(HDRS-DIR)/$$i 2>/dev/null ) ; then\ true; else\ $(RM) $(HDRS-DIR)/$$i;\ if $(INSTALL_DATA) $(srcdir)/$$i $(HDRS-DIR)/$$i;\ then true ; else exit 1; fi; fi;\ done ]])dnl end of doincludes ])dnl end of LK_INSTALL_HDRS dnl define([preincludes],)dnl define([LK_INSTALL_BUILT_HDRS], [[INSTALL-HDRS = $1 HDRS-DIR =$(INCLUDEDIR)$2] define([preincludes],[[$(INSTALL-HDRS)]])dnl define([doincludes], [[ test -d $(HDRS-DIR) || $(MKDIR) $(HDRS-DIR) for i in $(INSTALL-HDRS) ; \ do if ( cmp $$i $(HDRS-DIR)/$$i 2>/dev/null ) ; then\ true; else\ $(RM) $(HDRS-DIR)/$$i;\ if $(INSTALL_DATA) $$i $(HDRS-DIR)/$$i;\ then true ; else exit 1; fi; fi;\ done ]])dnl end of doincludes ])dnl end of LK_INSTALL_BUILT_HDRS dnl define([doincludes],)dnl define([dolibraries],)dnl define([prelibraries],)dnl define([LK_STD_LIBS], [errprint(__file__:__line__:[ Use LK_STD_LIB, not LK_STD_LIB]) m4exit(1)])dnl define([LK_STD_LIB], [[LIBNAME = $1 LIBOBJS = $2 $(LIBNAME): $(LIBOBJS) $(AR) $(ARFLAGS) $]][[@ $]][[? $(RANLIB) $]][[@] define([dolibraries], [[ $(RM) $(LIBDIR)/$(LIBNAME) cp $(LIBNAME) $(LIBDIR)/$(LIBNAME) $(TOUCHLIB) $(LIBDIR)/$(LIBNAME) ]])dnl end of dolibraries define([prelibraries],[[$(LIBNAME)]])dnl end of prelibraries ])dnl end of LK_STD_LIB dnl define([prebinaries],)dnl define([dobinaries],)dnl define([preinstall],)dnl define([doinstall],)dnl define([LK_DESCEND],dnl [LK_descend([includes],preincludes,doincludes) LK_descend([libraries],prelibraries,dolibraries) LK_descend([binaries],prebinaries,dobinaries) LK_descend([install],preinstall,doinstall) LK_DEPEND LK_CLEAN])dnl end of LK_DESCEND dnl define([LK_SCRIPTS], [[SCRIPTS = $1 ]define([dobinaries], [[ for i in $(SCRIPTS); do \ sed -e s+@ETCDIR@+$(etcdir)+ -e s+@BINDIR@+$(bindir)+ \ $(srcdir)/$$i.sh > $$i;\ chmod +x $$i;\ done ]])dnl end dobinaries define([doinstall], [[ for i in $(SCRIPTS); do \ $(INSTALL_PROGRAM) $$i $(bindir); \ done ]])dnl end doinstall ])dnl end LK_SCRIPTS dnl dnl LK_STD(alldep) dnl alldep defaults to libraries dnl define([LK_STD],[[# Begin LK_STD srcdir = @srcdir@ VPATH = @srcdir@ SHELL = /bin/sh all: $1]ifelse($#,0,[[libraries]])[ AWK = @AWK@ CC = @CC@ CFLAGS = @CFLAGS@ ALL_CFLAGS = @INCLUDE_CURRENT@ -I@srcdir@ -I@BUILDTOPDIR@/include \ -I@BUILDTOPDIR@/include/server $(DEFS) $(CFLAGS) DEPENDFLAG = @DEPENDFLAG@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ LEX = @LEX@ MKDIR = mkdir RANLIB = @RANLIB@ RM = rm -f SED = @SED@ SYMLINK = @LN_S@ TOUCHLIB = @RANLIB@ YACC = @YACC@ INCLUDEDIR = @BUILDTOPDIR@/include LIBDIR = @BUILDTOPDIR@/lib prefix = /usr/lyskom exec_prefix = $(prefix) bindir = $(exec_prefix)/bin dbdir = $(exec_prefix)/db etcdir = $(exec_prefix)/etc coredir = $(exec_prefix)/cores DEFS = @DEFS@ LDFLAGS = @LDFLAGS@ SCRIPTDIR = @SRCTOPDIR@/scripts .c.o: $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< # END section from LK_STD ]])dnl LK_STD