| # -*- Mode: makefile -*- |
| # |
| # This Source Code Form is subject to the terms of the Mozilla Public |
| # License, v. 2.0. If a copy of the MPL was not distributed with this |
| # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
| |
| # |
| # Copyright 1992,1993 Simmule Turner and Rich Salz. All rights reserved. |
| # |
| # This software is not subject to any license of the American Telephone |
| # and Telegraph Company or of the Regents of the University of California. |
| # |
| # Permission is granted to anyone to use this software for any purpose on |
| # any computer system, and to alter it and redistribute it freely, subject |
| # to the following restrictions: |
| # 1. The authors are not responsible for the consequences of use of this |
| # software, no matter how awful, even if they arise from flaws in it. |
| # 2. The origin of this software must not be misrepresented, either by |
| # explicit claim or by omission. Since few users ever read sources, |
| # credits must appear in the documentation. |
| # 3. Altered versions must be plainly marked as such, and must not be |
| # misrepresented as being the original software. Since few users |
| # ever read sources, credits must appear in the documentation. |
| # 4. This notice may not be removed or altered. |
| # |
| |
| # |
| # Unix makefile for editline library. |
| # |
| |
| ## Set your options: |
| ## -DANSI_ARROWS ANSI arrows keys work like emacs. |
| ## -DHAVE_STDLIB Have <stdlib.h>. |
| ## -DHAVE_TCGETATTR Have tcgetattr(), tcsetattr(). |
| ## -DHAVE_TERMIO Have "struct termio" and <termio.h> |
| ## (If neither of above two, we use <sgttyb.h> and BSD ioctl's) |
| ## -DHIDE Make static functions static (non debug). |
| ## -DHIST_SIZE=n History size. |
| ## -DNEED_STRDUP Don't have strdup(). |
| ## -DUNIQUE_HISTORY Don't save command if same as last one. |
| ## -DUSE_DIRENT Use <dirent.h>, not <sys/dir.h>? |
| ## -DUSE_TERMCAP Use the termcap library for terminal size |
| ## see LDFLAGS, below, if you set this. |
| ## -DNEED_PERROR Don't have perror() (used in testit) |
| |
| ## If you have -DUSE_TERMCAP, set this as appropriate: |
| #LDFLAGS = -ltermlib |
| #LDFLAGS = -ltermcap |
| |
| DEFS = -DANSI_ARROWS -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX \ |
| -DHAVE_STDLIB -DUNIQUE_HISTORY |
| |
| DEPTH = .. |
| |
| include $(DEPTH)/config.mk |
| |
| LOCAL_OBJDIR = $(OBJDIR)/editline |
| |
| # |
| # Default IEEE libm |
| # |
| CFLAGS += -DXP_UNIX $(OPTIMIZER) $(OS_CFLAGS) $(DEFINES) $(INCLUDES) \ |
| -DJSFILE $(XCFLAGS) $(DEFS) |
| |
| INCFILES = editline.h |
| .INIT: $(INCFILES) |
| .KEEP_STATE: |
| EDITLINE_CFILES = editline.c sysunix.c |
| |
| EDITLINE_OBJS = $(addprefix $(LOCAL_OBJDIR)/, $(EDITLINE_CFILES:.c=.o)) |
| |
| LIBRARY = $(LOCAL_OBJDIR)/libedit.a |
| |
| all: $(LIBRARY) |
| |
| export: |
| |
| # make objects to depen on $(LOCAL_OBJDIR) only when it exists |
| $(EDITLINE_OBJS) : $(filter-out $(wildcard $(LOCAL_OBJDIR)), $(LOCAL_OBJDIR)) |
| |
| $(LOCAL_OBJDIR) : |
| mkdir -p $@ |
| |
| $(LOCAL_OBJDIR)/%: %.c |
| $(CC) -o $@ $(CFLAGS) $*.c $(LDFLAGS) |
| |
| $(LOCAL_OBJDIR)/%.o: %.c |
| $(CC) -o $@ -c $(CFLAGS) $*.c |
| |
| $(LOCAL_OBJDIR)/%.o: %.s |
| $(AS) -o $@ $(ASFLAGS) $*.s |
| |
| $(LIBRARY): $(EDITLINE_OBJS) |
| $(AR) rv $@ $? |
| $(RANLIB) $@ |
| |
| #libedit.a : $(EDITLINE_OBJS) |
| # $(AR) cru $(LOCAL_OBJDIR)/libedit.a $(EDITLINE_OBJS) |
| # $(RANLIB) $(LOCAL_OBJDIR)/libedit.a |
| |
| clean: |
| rm -rf $(EDITLINE_OBJS) $(EDITLINE_OBJS:.o=.d) |
| |
| clobber: clean |
| rm -rf $(LIBRARY) $(DEPENDENCIES) |
| if test -d $(LOCAL_OBJDIR); then rmdir $(LOCAL_OBJDIR); fi |
| |
| SUFFIXES: .i |
| %.i: %.c |
| $(CC) -C -E $(CFLAGS) $< > $*.i |