# -*- Mode: makefile -*- # # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is Mozilla Communicator client code, released # March 31, 1998. # # The Initial Developer of the Original Code is # Simmule Turner and Rich Salz. # Portions created by the Initial Developer are Copyright (C) 1998 # the Initial Developer. All Rights Reserved. # # Contributor(s): # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** # # 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 . ## -DHAVE_TCGETATTR Have tcgetattr(), tcsetattr(). ## -DHAVE_TERMIO Have "struct termio" and ## (If neither of above two, we use 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 , not ? ## -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 # # 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 $(OBJDIR)/, $(EDITLINE_CFILES:.c=.o)) LIBRARY = $(OBJDIR)/libedit.a define MAKE_OBJDIR if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi endef all: $(LIBRARY) export: $(OBJDIR)/%: %.c @$(MAKE_OBJDIR) $(CC) -o $@ $(CFLAGS) $*.c $(LDFLAGS) $(OBJDIR)/%.o: %.c @$(MAKE_OBJDIR) $(CC) -o $@ -c $(CFLAGS) $*.c $(OBJDIR)/%.o: %.s @$(MAKE_OBJDIR) $(AS) -o $@ $(ASFLAGS) $*.s $(LIBRARY): $(EDITLINE_OBJS) $(AR) rv $@ $? $(RANLIB) $@ #libedit.a : $(EDITLINE_OBJS) # $(AR) cru $(OBJDIR)/libedit.a $(EDITLINE_OBJS) # $(RANLIB) $(OBJDIR)/libedit.a clean: rm -rf $(EDITLINE_OBJS) clobber: rm -rf $(EDITLINE_OBJS) $(LIBRARY) $(DEPENDENCIES) SUFFIXES: .i %.i: %.c $(CC) -C -E $(CFLAGS) $< > $*.i