home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Der Mediaplex Sampler - Die 6 von Plex
/
6_v_plex.zip
/
6_v_plex
/
DISK5
/
DOS_22
/
FUTI14AS.ZIP
/
MAKEFILE
< prev
next >
Wrap
Text File
|
1992-02-22
|
6KB
|
227 lines
# Makefile for fileutils (MS-DOS)
# Copyright (C) 1986, 1988, 1989 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 1, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# MS-DOS port (c) 1990 by Thorsten Ohl, ohl@gnu.ai.mit.edu
# This port is also distributed under the terms of the
# GNU General Public License as published by the
# Free Software Foundation.
# Please note that this file is not identical to the
# original GNU release, you should have received this
# code as patch to the official release.
# $Header: e:/gnu/fileutil/RCS/makefile 1.4.0.3 90/09/19 13:27:14 tho Exp $
VPATH = d:/usr/lib;d:/usr/include
INSTALL = cp -v
DISK = b:
ZIPFILE = fileutil.zip
MODEL = S
model = s
# You'll need the gnulib, featuring:
# _cwild.c, error.c, getopt.c, getopt.h, getopt1.c, glob.c, gnulib.h,
# ndir.c, ndir.h, pwd.c, pwd.h, regex.c, regex.h, xmalloc.c, xrealloc.c
GNULIB = gnulib_$(model)
DEFINES = -DVPRINTF -DUTIMES_MISSING -DFCHMOD_MISSING -DSTDC_HEADERS \
-DINT_16_BITS -DUSG -DBLKSIZE=0x4000 -DSMART_SHELL
BUILD = production
ifeq ($(BUILD),debug)
CFLAGS = -A$(MODEL) -Za -Od -Zi -W4 $(DEFINES)
LDFLAGS = /co/noe setargv
else
CFLAGS = -A$(MODEL) -Za -Ox -W4 $(DEFINES)
LDFLAGS = /e/noe/far/packcode setargv
endif
# for malloc()'ing programs
SSTACK = /st:0x4000
# for alloca()'ing programs (incl. `auto' allocation)
BSTACK = /st:0x8000
# Where to install the executables
BINDIR = c:/bin
# Executable files in this directory
CMDS = $(CMDS1) $(CMDS2) $(CMDS3) $(CMDS4) $(CMDS5)
# These are designed to give < 100k .tar.Z.uue files.
CMDS1 = cat.exe chmod.exe cmp.exe cp.exe
CMDS2 = cut.exe dir.exe dd.exe head.exe
CMDS3 = ls.exe mkdir.exe mv.exe paste.exe
CMDS4 = rm.exe rmdir.exe tac.exe
CMDS5 = tail.exe touch.exe vdir.exe
# Sources
SRCS = argmatch.c backupfi.c cat.c chmod.c cmp.c cp-aux.c cp.c cut.c \
dd.c eaccess.c filebloc.c filemode.c getversi.c head.c ls.c \
mkdir.c modechan.c mv.c paste.c rm.c rmdir.c savedir.c tac.c \
tail.c touch.c getdate.y posixtim.y
INCS = backupfi.h cp.h modechan.h system.h
UNUSED = cp-hash.c dirlib.c du.c error.c getopt.c getopt.h getopt1.c \
globmat.c install.c ln.c mkfifo.c mktime.c mvdir.c regex.c regex.h
DOCS = fileutil.pl
MPAGES = gcat.1 gchmod.1 gcmp.1 gcp.1 gcut.1 gdd.1 gdu.1 ghead.1 \
ginstall.1 gln.1 gls.1 gmkdir.1 gmkfifo.1 gmv.1 gpaste.1 \
grm.1 grmdir.1 gtac.1 gtail.1 gtouch.1
MANDIR = man
MANPAGES= $(addprefix $(MANDIR)/,$(MPAGES))
RCSFILES= $(addprefix RCS/, $(SRCS) $(INCS) $(DOCS) makefile readme) \
$(MANPAGES)
MISC = changelo todo makepat mkpatch RCS/tar_-tv
TARFILES= makefile fileutil.pl patches
PATCHES = fileutil
BINARIES= $(addprefix futil-b, 1 2 3 4 5)
# Version of fileutils release
VERSION = 1.4
# Targets
.PHONY: all install
all: $(CMDS)
install: $(addprefix $(BINDIR)/, $(CMDS))
$(BINDIR)/% : %
$(INSTALL) $< $@
# Linking rules
%.exe: %.obj
$(LINK) $(LDFLAGS) $(BSTACK) $^, $@, nul, $(GNULIB),
cmp.exe: cmp.obj _cwild.obj
$(LINK) $(LDFLAGS) $(SSTACK) $^, $@, nul, $(GNULIB),
$(CMDS): _cwild.obj
chmod.exe: filemode.obj modechan.obj savedir.obj
cp.exe: argmatch.obj backupfi.obj cp-aux.obj eaccess.obj getversi.obj \
savedir.obj # cp-hash.obj
dir.exe ls.exe vdir.exe: argmatch.obj filebloc.obj filemode.obj
mkdir.exe: modechan.obj
mv.exe: argmatch.obj backupfi.obj getversi.obj
rm.exe: eaccess.obj
touch.exe: argmatch.obj getdate.obj posixtim.obj
# Compilation rules
dir.obj: ls.c
$(CC) $(CFLAGS) -DMULTI_COL -c -Fo$@ ls.c
vdir.obj: ls.c
$(CC) $(CFLAGS) -DLONG_FORMAT -c -Fo$@ ls.c
$(SRCS:.c=.obj): system.h
chmod.obj mkdir.obj modechan.obj: modechan.h
backupfi.obj cp.obj getversi.obj mv.obj: backupfi.h
cp.obj cp-aux.obj cp-hash.obj : cp.h
# Documentation (requires Larry Wall's `perl').
.PHONY: docs info tex
docs: info tex
info: fileutil.inf
tex: fileutil.dvi
fileutil.dvi: fileutil.tex fileutil.pgs
tex $<
fileutil.pgs: fileutil.pg
texindex $^
fileutil.pg: fileutil.tex
tex $<
fileutil.inf: fileutil.tex
makeinfo $<
fileutil.tex: fileutil.pl $(MANPAGES)
perl $< MANDIR=$(MANDIR) > $@
# Cleanup, Backup, Patches
.PHONY: clean veryclean
clean:
rm -f *.obj *.map *~ *.tar *.cp *.fn *.ky *.pg *.pgs *.tp *.vr \
*.tex *.aux *.toc *.dvi *.log *.dlg
veryclean: clean
rm -f *.uue *.exe *.inf errs tags
rcsclean *.c *.h *.y *.pl makefile
.PHONY: zip disk
zip: $(ZIPFILE)
disk: $(DISK)/$(ZIPFILE)
$(ZIPFILE): $(RCSFILES) $(MISC)
pkzip -r- -P $@ $?
$(DISK)/$(ZIPFILE): $(ZIPFILE)
cp $< $@
pkunzip -t $@ | grep -vw OK
tags: $(SRCS) $(INCS)
etags -t *.h *.c
.PHONY: dist
dist: $(addsuffix .uue, $(PATCHES) $(BINARIES))
%.uue: %.tar
compress < $< | uuencode $<.Z > $@
%.tar:
tar -cf $@ $^
$(PATCHES).tar: readme copying $(TARFILES)
futil-b1.tar: readme copying $(CMDS1)
futil-b2.tar: readme copying $(CMDS2)
futil-b3.tar: readme copying $(CMDS3)
futil-b4.tar: readme copying $(CMDS4)
futil-b5.tar: readme copying $(CMDS5)
patches: $(SRCS) $(INCS) $(RCSFILES)
rcsdiff -c -r$(VERSION) *.[chy] > $@
.PHONY: test-dist
test-dist: $(PATCHES).uue $(RCSFILES)
$(CO) -f -r$(VERSION) $(SRCS) $(INCS)
sed /\.tar\.Z/s//.Z/ $(PATCHES).uue | uudecode
compress -d < $(PATCHES).Z | tar -xOf - patches | patch -s
rcsdiff -q $(SRCS) $(INCS)
.PHONY: cheat
cheat:
$(INSTALL) $(addprefix $(BINDIR)/, $(CMDS)) .