$NetBSD: patch-ae,v 1.3 1999/03/08 14:26:13 agc Exp $ --- Makefile.in.orig Fri Apr 3 18:23:01 1998 +++ Makefile.in Tue Apr 21 10:09:52 1998 @@ -53,7 +53,7 @@ ETAGS = etags -tw CTAGS = ctags -tw -CFLAGS = @CFLAGS@ +CFLAGS += @CFLAGS@ LOCAL_CFLAGS = @LOCAL_CFLAGS@ -DRL_LIBRARY_VERSION='"$(RL_LIBRARY_VERSION)"' CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ @LOCAL_LDFLAGS@ @CFLAGS@ @@ -64,53 +64,26 @@ # For libraries which include headers from other libraries. INCLUDES = -I. -I$(srcdir) -I$(includedir) -CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(CPPFLAGS) $(INCLUDES) $(LOCAL_CFLAGS) $(CFLAGS) +CFLAGS += $(DEFS) $(LOCAL_DEFS) $(CPPFLAGS) $(INCLUDES) $(LOCAL_CFLAGS) -# these two options need tweaking for compiler/OS versions other than gcc -# and SunOS4 -PICFLAG= -fpic # -pic for some versions of cc -SHLIB_OPTS= -assert pure-text -ldl # -Bshareable for some versions of gcc - -MAJOR= 3 -# shared library systems like SVR4's do not use minor versions -MINOR= .0 - -.SUFFIXES: .so - -.c.o: - $(CC) -c $(CCFLAGS) $< - -.c.so: - -mv $*.o z$*.o - $(CC) -c $(PICFLAG) $(CCFLAGS) $< - mv $*.o $@ - -mv z$*.o $*.o - -# The name of the main library target. -LIBRARY_NAME = libreadline.a -STATIC_LIBS = libreadline.a libhistory.a - -SHARED_READLINE = libreadline.so.$(MAJOR)$(MINOR) -SHARED_HISTORY = libhistory.so.$(MAJOR)$(MINOR) -SHARED_LIBS = $(SHARED_READLINE) $(SHARED_HISTORY) +MAJOR= 2 +MINOR= 2 # The C code source files for this library. CSOURCES = $(srcdir)/readline.c $(srcdir)/funmap.c $(srcdir)/keymaps.c \ $(srcdir)/vi_mode.c $(srcdir)/parens.c $(srcdir)/rltty.c \ $(srcdir)/complete.c $(srcdir)/bind.c $(srcdir)/isearch.c \ - $(srcdir)/display.c $(srcdir)/signals.c $(srcdir)/emacs_keymap.c \ - $(srcdir)/vi_keymap.c $(srcdir)/util.c $(srcdir)/kill.c \ + $(srcdir)/display.c $(srcdir)/signals.c \ + $(srcdir)/util.c $(srcdir)/kill.c \ $(srcdir)/undo.c $(srcdir)/macro.c $(srcdir)/input.c \ - $(srcdir)/callback.c $(srcdir)/terminal.c $(srcdir)/xmalloc.c \ + $(srcdir)/callback.c $(srcdir)/terminal.c + +# history library +HSOURCES = $(srcdir)/xmalloc.c \ $(srcdir)/history.c $(srcdir)/histsearch.c $(srcdir)/histexpand.c \ $(srcdir)/histfile.c $(srcdir)/nls.c $(srcdir)/search.c \ $(srcdir)/shell.c $(srcdir)/tilde.c -# The header files for this library. -HSOURCES = readline.h rldefs.h chardefs.h keymaps.h history.h histlib.h \ - posixstat.h posixdir.h posixjmp.h tilde.h rlconf.h rltty.h \ - ansi_stdlib.h tcap.h - HISTOBJ = history.o histexpand.o histfile.o histsearch.o shell.o TILDEOBJ = tilde.o OBJECTS = readline.o vi_mode.o funmap.o keymaps.o parens.o search.o \ @@ -118,13 +91,6 @@ util.o kill.o undo.o macro.o input.o callback.o terminal.o \ nls.o xmalloc.o $(HISTOBJ) $(TILDEOBJ) -SHARED_HISTOBJ = history.so histexpand.so histfile.so histsearch.so shell.so -SHARED_TILDEOBJ = tilde.so -SHARED_OBJ = readline.so vi_mode.so funmap.so keymaps.so parens.so search.so \ - rltty.so complete.so bind.so isearch.so display.so signals.so \ - util.so kill.so undo.so macro.so input.so callback.so terminal.so \ - nls.so xmalloc.so $(SHARED_HISTOBJ) $(SHARED_TILDEOBJ) - # The texinfo files which document this library. DOCSOURCE = doc/rlman.texinfo doc/rltech.texinfo doc/rluser.texinfo DOCOBJECT = doc/readline.dvi @@ -139,421 +105,35 @@ INSTALLED_HEADERS = readline.h chardefs.h keymaps.h history.h tilde.h ########################################################################## +# now comes the BSD staff + +SHLIB_MAJOR = $(MAJOR) +SHLIB_MINOR = $(MINOR) + +INCS = ${INSTALLED_HEADERS} +INCSDIR = ${PREFIX}/include/readline + +NOPROFILE = 1 +NOLINT = 1 + +LIBDIR = ${PREFIX}/lib + +LIB ?= readline + +.if (${LIB} == "readline") +SRCS = ${CSOURCES} ${HSOURCES} +.else +SRCS = ${HSOURCES} +.endif + +.PHONY: install -all: static +install: ${INCSDIR} incinstall + ${MAKE} LIB=readline libinstall + ${MAKE} LIB=history libinstall + ( cd doc; ${MAKE} install ) -static: $(STATIC_LIBS) -shared: $(SHARED_LIBS) +${INCSDIR}: + mkdir ${.TARGET} -libreadline.a: $(OBJECTS) - $(RM) $@ - $(AR) cr $@ $(OBJECTS) - -test -n "$(RANLIB)" && $(RANLIB) $@ - -libhistory.a: $(HISTOBJ) xmalloc.o - $(RM) $@ - $(AR) cr $@ $(HISTOBJ) xmalloc.o - -test -n "$(RANLIB)" && $(RANLIB) $@ - -$(SHARED_READLINE): $(SHARED_OBJ) - $(RM) $@ - $(LD) ${SHLIB_OPTS} -o $@ $(SHARED_OBJ) - -$(SHARED_HISTORY): $(SHARED_HISTOBJ) xmalloc.so - $(RM) $@ - $(LD) ${SHLIB_OPTS} -o $@ $(SHARED_HISTOBJ) xmalloc.so - -readline: $(OBJECTS) readline.h rldefs.h chardefs.h - $(CC) $(CCFLAGS) -o $@ ./examples/rl.c ./libreadline.a -ltermcap - -Makefile makefile: config.status $(srcdir)/Makefile.in - CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status - -Makefiles makefiles: config.status $(srcdir)/Makefile.in - @for mf in $(CREATED_MAKEFILES); do \ - CONFIG_FILES=$$mf CONFIG_HEADERS= $(SHELL) ./config.status ; \ - done - -config.status: configure - $(SHELL) ./config.status --recheck - -config.h: stamp-h - -stamp-h: config.status $(srcdir)/config.h.in - CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status - echo > $@ - -$(srcdir)/configure: $(srcdir)/configure.in ## Comment-me-out in distribution - cd $(srcdir) && autoconf ## Comment-me-out in distribution - -documentation: force - -test -d doc || mkdir doc - -( cd doc && $(MAKE) $(MFLAGS) ) - -examples: force - -test -d examples || mkdir examples - -(cd examples && ${MAKE} ${MFLAGS} all ) - -force: - -install: installdirs libreadline.a - for f in ${INSTALLED_HEADERS}; do \ - $(INSTALL_DATA) $(srcdir)/$$f $(includedir)/readline ; \ - done - -$(MV) $(libdir)/libreadline.a $(libdir)/libreadline.old - $(INSTALL_DATA) libreadline.a $(libdir)/libreadline.a - -test -n "$(RANLIB)" && $(RANLIB) -t $(libdir)/libreadline.a - -$(MV) $(libdir)/libreadline.a $(libdir)/libhistory.old - $(INSTALL_DATA) libhistory.a $(libdir)/libhistory.a - -test -n "$(RANLIB)" && $(RANLIB) -t $(libdir)/libhistory.a - -( if test -d doc ; then \ - cd doc && \ - ${MAKE} ${MFLAGS} infodir=$(infodir) $@; \ - fi ) - -installdirs: $(srcdir)/support/mkdirs - -$(SHELL) $(srcdir)/support/mkdirs $(includedir) \ - $(includedir)/readline $(libdir) $(infodir) $(man3dir) - -uninstall: - -test -n "$(includedir)" && cd $(includedir)/readline && \ - ${RM} ${INSTALLED_HEADERS} - -test -n "$(libdir)" && cd $(libdir) && \ - ${RM} libreadline.a libreadline.old libhistory.a libhistory.old $(SHARED_LIBS) - -install-shared: installdirs shared - -$(MV) $(libdir)/$(SHARED_HISTORY) $(libdir)/$(SHARED_HISTORY).old - $(INSTALL_DATA) $(SHARED_HISTORY) $(libdir)/$(SHARED_HISTORY) - -$(MV) $(libdir)/$(SHARED_READLINE) $(libdir)/$(SHARED_READLINE).old - $(INSTALL_DATA) $(SHARED_READLINE) $(libdir)/$(SHARED_READLINE) - -uninstall-shared: - -test -n "$(libdir)" && cd $(libdir) && ${RM} ${SHARED_LIBS} - -TAGS: force - $(ETAGS) $(CSOURCES) $(HSOURCES) - -tags: force - $(CTAGS) $(CSOURCES) $(HSOURCES) - -clean: force - $(RM) $(OBJECTS) $(STATIC_LIBS) - $(RM) $(SHARED_OBJ) $(SHARED_LIBS) - -( cd doc && $(MAKE) $(MFLAGS) $@ ) - -( cd examples && $(MAKE) $(MFLAGS) $@ ) - -mostlyclean: clean - -( cd doc && $(MAKE) $(MFLAGS) $@ ) - -( cd examples && $(MAKE) $(MFLAGS) $@ ) - -distclean maintainer-clean: clean - -( cd doc && $(MAKE) $(MFLAGS) $@ ) - -( cd examples && $(MAKE) $(MFLAGS) $@ ) - $(RM) Makefile - $(RM) $(CREATED_CONFIGURE) - $(RM) $(CREATED_TAGS) - -info dvi: - -( cd doc && $(MAKE) $(MFLAGS) $@ ) - -install-info: -check: -installcheck: - -dist: force - @echo Readline distributions are created using $(srcdir)/support/mkdist. - @echo Here is a sample of the necessary commands: - @echo bash $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r $(RL_LIBRARY_NAME)-$(RL_LIBRARY_VERSION) - @echo tar cf $(RL_LIBRARY_NAME)-${RL_LIBRARY_VERSION}.tar ${RL_LIBRARY_NAME}-$(RL_LIBRARY_VERSION) - @echo gzip $(RL_LIBRARY_NAME)-$(RL_LIBRARY_VERSION).tar - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: - -# Dependencies -bind.o: ansi_stdlib.h posixstat.h -bind.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -bind.o: readline.h keymaps.h chardefs.h tilde.h -bind.o: history.h -callback.o: rlconf.h -callback.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -callback.o: readline.h keymaps.h chardefs.h tilde.h -complete.o: ansi_stdlib.h posixdir.h posixstat.h -complete.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -complete.o: readline.h keymaps.h chardefs.h tilde.h -display.o: ansi_stdlib.h posixstat.h -display.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -display.o: tcap.h -display.o: readline.h keymaps.h chardefs.h tilde.h -display.o: history.h -funmap.o: readline.h keymaps.h chardefs.h tilde.h -funmap.o: rlconf.h ansi_stdlib.h -funmap.o: ${BUILD_DIR}/config.h -histexpand.o: ansi_stdlib.h -histexpand.o: history.h histlib.h -histexpand.o: ${BUILD_DIR}/config.h -histfile.o: ansi_stdlib.h -histfile.o: history.h histlib.h -histfile.o: ${BUILD_DIR}/config.h -history.o: ansi_stdlib.h -history.o: history.h histlib.h -history.o: ${BUILD_DIR}/config.h -histsearch.o: ansi_stdlib.h -histsearch.o: history.h histlib.h -histsearch.o: ${BUILD_DIR}/config.h -input.o: ansi_stdlib.h -input.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -input.o: readline.h keymaps.h chardefs.h tilde.h -isearch.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -isearch.o: readline.h keymaps.h chardefs.h tilde.h -isearch.o: ansi_stdlib.h history.h -keymaps.o: emacs_keymap.c vi_keymap.c -keymaps.o: keymaps.h chardefs.h rlconf.h ansi_stdlib.h -keymaps.o: readline.h keymaps.h chardefs.h tilde.h -keymaps.o: ${BUILD_DIR}/config.h -kill.o: ansi_stdlib.h -kill.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -kill.o: readline.h keymaps.h chardefs.h tilde.h -kill.o: history.h -macro.o: ansi_stdlib.h -macro.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -macro.o: readline.h keymaps.h chardefs.h tilde.h -macro.o: history.h -nls.o: ansi_stdlib.h -nls.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -parens.o: rlconf.h -parens.o: ${BUILD_DIR}/config.h -parens.o: readline.h keymaps.h chardefs.h tilde.h -readline.o: readline.h keymaps.h chardefs.h tilde.h -readline.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -readline.o: history.h -readline.o: posixstat.h ansi_stdlib.h posixjmp.h -rltty.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -rltty.o: rltty.h -rltty.o: readline.h keymaps.h chardefs.h tilde.h -search.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -search.o: readline.h keymaps.h chardefs.h tilde.h -search.o: ansi_stdlib.h history.h -shell.o: ${BUILD_DIR}/config.h -shell.o: ansi_stdlib.h -signals.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -signals.o: readline.h keymaps.h chardefs.h tilde.h -signals.o: history.h -terminal.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -terminal.o: tcap.h -terminal.o: readline.h keymaps.h chardefs.h tilde.h -terminal.o: history.h -tilde.o: ansi_stdlib.h -tilde.o: ${BUILD_DIR}/config.h -tilde.o: tilde.h -undo.o: ansi_stdlib.h -undo.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -undo.o: readline.h keymaps.h chardefs.h tilde.h -undo.o: history.h -util.o: posixjmp.h ansi_stdlib.h -util.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -util.o: readline.h keymaps.h chardefs.h tilde.h -vi_mode.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h -vi_mode.o: readline.h keymaps.h chardefs.h tilde.h -vi_mode.o: history.h ansi_stdlib.h -xmalloc.o: ${BUILD_DIR}/config.h -xmalloc.o: ansi_stdlib.h - -readline.o: $(srcdir)/readline.c -vi_mode.o: $(srcdir)/vi_mode.c -funmap.o: $(srcdir)/funmap.c -keymaps.o: $(srcdir)/keymaps.c -parens.o: $(srcdir)/parens.c -search.o: $(srcdir)/search.c -rltty.o: $(srcdir)/rltty.c -complete.o: $(srcdir)/complete.c -bind.o: $(srcdir)/bind.c -isearch.o: $(srcdir)/isearch.c -display.o: $(srcdir)/display.c -signals.o: $(srcdir)/signals.c -util.o: $(srcdir)/util.c -kill.o: $(srcdir)/kill.c -undo.o: $(srcdir)/undo.c -macro.o: $(srcdir)/macro.c -input.o: $(srcdir)/input.c -callback.o: $(srcdir)/callback.c -terminal.o: $(srcdir)/terminal.c -nls.o: $(srcdir)/nls.c -xmalloc.o: $(srcdir)/xmalloc.c -history.o: $(srcdir)/history.c -histexpand.o: $(srcdir)/histexpand.c -histfile.o: $(srcdir)/histfile.c -histsearch.o: $(srcdir)/histsearch.c -shell.o: $(srcdir)/shell.c -tilde.o: $(srcdir)/tilde.c - -bind.so: ansi_stdlib.h posixstat.h -bind.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -bind.so: readline.h keymaps.h chardefs.h tilde.h -bind.so: history.h -callback.so: rlconf.h -callback.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -callback.so: readline.h keymaps.h chardefs.h tilde.h -complete.so: ansi_stdlib.h posixdir.h posixstat.h -complete.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -complete.so: readline.h keymaps.h chardefs.h tilde.h -display.so: ansi_stdlib.h posixstat.h -display.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -display.so: tcap.h -display.so: readline.h keymaps.h chardefs.h tilde.h -display.so: history.h -funmap.so: readline.h keymaps.h chardefs.h tilde.h -funmap.so: rlconf.h ansi_stdlib.h -funmap.so: ${BUILD_DIR}/config.h -histexpand.so: ansi_stdlib.h -histexpand.so: history.h histlib.h -histexpand.so: ${BUILD_DIR}/config.h -histfile.so: ansi_stdlib.h -histfile.so: history.h histlib.h -histfile.so: ${BUILD_DIR}/config.h -history.so: ansi_stdlib.h -history.so: history.h histlib.h -history.so: ${BUILD_DIR}/config.h -histsearch.so: ansi_stdlib.h -histsearch.so: history.h histlib.h -histsearch.so: ${BUILD_DIR}/config.h -input.so: ansi_stdlib.h -input.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -input.so: readline.h keymaps.h chardefs.h tilde.h -isearch.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -isearch.so: readline.h keymaps.h chardefs.h tilde.h -isearch.so: ansi_stdlib.h history.h -keymaps.so: emacs_keymap.c vi_keymap.c -keymaps.so: keymaps.h chardefs.h rlconf.h ansi_stdlib.h -keymaps.so: readline.h keymaps.h chardefs.h tilde.h -keymaps.so: ${BUILD_DIR}/config.h -kill.so: ansi_stdlib.h -kill.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -kill.so: readline.h keymaps.h chardefs.h tilde.h -kill.so: history.h -macro.so: ansi_stdlib.h -macro.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -macro.so: readline.h keymaps.h chardefs.h tilde.h -macro.so: history.h -nls.so: ansi_stdlib.h -nls.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -parens.so: rlconf.h -parens.so: ${BUILD_DIR}/config.h -parens.so: readline.h keymaps.h chardefs.h tilde.h -readline.so: readline.h keymaps.h chardefs.h tilde.h -readline.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -readline.so: history.h -readline.so: posixstat.h ansi_stdlib.h posixjmp.h -rltty.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -rltty.so: rltty.h -rltty.so: readline.h keymaps.h chardefs.h tilde.h -search.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -search.so: readline.h keymaps.h chardefs.h tilde.h -search.so: ansi_stdlib.h history.h -signals.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -signals.so: readline.h keymaps.h chardefs.h tilde.h -signals.so: history.h -terminal.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -terminal.so: tcap.h -terminal.so: readline.h keymaps.h chardefs.h tilde.h -terminal.so: history.h -tilde.so: ansi_stdlib.h -tilde.so: ${BUILD_DIR}/config.h -tilde.so: tilde.h -undo.so: ansi_stdlib.h -undo.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -undo.so: readline.h keymaps.h chardefs.h tilde.h -undo.so: history.h -util.so: posixjmp.h ansi_stdlib.h -util.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -util.so: readline.h keymaps.h chardefs.h tilde.h -vi_mode.so: rldefs.h ${BUILD_DIR}/config.h rlconf.h -vi_mode.so: readline.h keymaps.h chardefs.h tilde.h -vi_mode.so: history.h ansi_stdlib.h -xmalloc.so: ${BUILD_DIR}/config.h -xmalloc.so: ansi_stdlib.h - -readline.o: readline.c -vi_mode.o: vi_mode.c -funmap.o: funmap.c -keymaps.o: keymaps.c -parens.o: parens.c -search.o: search.c -rltty.o: rltty.c -complete.o: complete.c -bind.o: bind.c -isearch.o: isearch.c -display.o: display.c -signals.o: signals.c -util.o: util.c -kill.o: kill.c -undo.o: undo.c -macro.o: macro.c -input.o: input.c -callback.o: callback.c -terminal.o: terminal.c -nls.o: nls.c -xmalloc.o: xmalloc.c -history.o: history.c -histexpand.o: histexpand.c -histfile.o: histfile.c -histsearch.o: histsearch.c -shell.o: shell.c -tilde.o: tilde.c - -readline.so: $(srcdir)/readline.c -vi_mode.so: $(srcdir)/vi_mode.c -funmap.so: $(srcdir)/funmap.c -keymaps.so: $(srcdir)/keymaps.c -parens.so: $(srcdir)/parens.c -search.so: $(srcdir)/search.c -rltty.so: $(srcdir)/rltty.c -complete.so: $(srcdir)/complete.c -bind.so: $(srcdir)/bind.c -isearch.so: $(srcdir)/isearch.c -display.so: $(srcdir)/display.c -signals.so: $(srcdir)/signals.c -util.so: $(srcdir)/util.c -kill.so: $(srcdir)/kill.c -undo.so: $(srcdir)/undo.c -macro.so: $(srcdir)/macro.c -input.so: $(srcdir)/input.c -callback.so: $(srcdir)/callback.c -terminal.so: $(srcdir)/terminal.c -nls.so: $(srcdir)/nls.c -xmalloc.so: $(srcdir)/xmalloc.c -history.so: $(srcdir)/history.c -histexpand.so: $(srcdir)/histexpand.c -histfile.so: $(srcdir)/histfile.c -histsearch.so: $(srcdir)/histsearch.c -shell.so: $(srcdir)/shell.c -tilde.so: $(srcdir)/tilde.c - -readline.so: readline.c -vi_mode.so: vi_mode.c -funmap.so: funmap.c -keymaps.so: keymaps.c -parens.so: parens.c -search.so: search.c -rltty.so: rltty.c -complete.so: complete.c -bind.so: bind.c -isearch.so: isearch.c -display.so: display.c -signals.so: signals.c -util.so: util.c -kill.so: kill.c -undo.so: undo.c -macro.so: macro.c -input.so: input.c -callback.so: callback.c -terminal.so: terminal.c -nls.so: nls.c -xmalloc.so: xmalloc.c -history.so: history.c -histexpand.so: histexpand.c -histfile.so: histfile.c -histsearch.so: histsearch.c -shell.so: shell.c -tilde.so: tilde.c +.include