83 lines
2.2 KiB
Makefile
83 lines
2.2 KiB
Makefile
# This Makefile for building libbuiltins.a is in -*- text -*- for Emacs.
|
|
#
|
|
MKBUILTINS = mkbuiltins
|
|
RANLIB = /usr/bin/ranlib
|
|
CFLAGS = -g -I.. -I.
|
|
SHELL = /bin/sh
|
|
CC = cc
|
|
AR = ar
|
|
RM = rm -f
|
|
CP = cp
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .def .c .o
|
|
# How to make a .o file from a .def file.
|
|
.def.o:
|
|
$(RM) $@
|
|
./$(MKBUILTINS) $(DIRECTDEFINE) $*.def
|
|
$(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c
|
|
$(RM) $*.c
|
|
|
|
# How to make a .c file from a .def file.
|
|
.def.c:
|
|
$(RM) $@
|
|
./$(MKBUILTINS) $(DIRECTDEFINE) $*.def
|
|
|
|
# Here is a rule for making .o files from .c files that does not
|
|
# force the type of the machine (like -M_MACHINE) into the flags.
|
|
.c.o:
|
|
$(RM) $@
|
|
$(CC) -c $(CFLAGS) $(CPPFLAGS) $*.c
|
|
|
|
DEFS = alias.def bind.def break.def builtin.def cd.def colon.def \
|
|
command.def declare.def echo.def enable.def eval.def \
|
|
exec.def exit.def fc.def fg_bg.def hash.def help.def history.def \
|
|
jobs.def kill.def let.def read.def return.def set.def setattr.def \
|
|
shift.def source.def suspend.def test.def times.def trap.def \
|
|
type.def ulimit.def umask.def wait.def getopts.def reserved.def
|
|
|
|
STATIC_SOURCE = common.c getopt.c getopt.h
|
|
|
|
OFILES = alias.o bind.o break.o builtin.o cd.o colon.o command.o \
|
|
common.o declare.o echo.o enable.o eval.o exec.o exit.o \
|
|
fc.o fg_bg.o hash.o help.o history.o jobs.o kill.o \
|
|
let.o read.o return.o set.o setattr.o shift.o source.o \
|
|
suspend.o test.o times.o trap.o type.o ulimit.o umask.o \
|
|
wait.o getopts.o getopt.o builtins.o
|
|
|
|
THINGS_TO_TAR = $(DEFS) $(STATIC_SOURCE) Makefile ChangeLog
|
|
|
|
CREATED_FILES = builtext.h builtins.c psize.aux pipesize.h
|
|
|
|
all: $(MKBUILTINS) libbuiltins.a
|
|
|
|
libbuiltins.a: $(MKBUILTINS) $(OFILES)
|
|
$(RM) $@
|
|
$(AR) clq $@ $(OFILES)
|
|
-if [ -f "$(RANLIB)" ]; then $(RANLIB) $@; fi
|
|
|
|
builtext.h builtins.c: $(MKBUILTINS) $(DEFS)
|
|
$(RM) builtext.h builtins.c
|
|
./$(MKBUILTINS) -externfile builtext.h -structfile builtins.c \
|
|
-noproduction $(DEFS)
|
|
|
|
mkbuiltins: mkbuiltins.c
|
|
$(CC) $(CFLAGS) -o $(MKBUILTINS) mkbuiltins.c
|
|
|
|
ulimit.o: ulimit.def pipesize.h
|
|
|
|
pipesize.h: psize.aux
|
|
$(SHELL) ./psize.sh > pipesize.h
|
|
|
|
psize.aux: psize.c
|
|
$(CC) $(CFLAGS) -o $@ psize.c
|
|
|
|
documentation: builtins.texi
|
|
|
|
builtins.texi: $(MKBUILTINS)
|
|
./$(MKBUILTINS) -documentonly $(DEFS)
|
|
|
|
clean:
|
|
$(RM) $(OFILES) $(CREATED_FILES) $(MKBUILTINS) libbuiltins.a
|
|
|