home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
netpbma.zip
/
pbm
/
Makefile
< prev
next >
Wrap
Makefile
|
1997-04-20
|
6KB
|
207 lines
# Makefile for pbm tools.
#
# Copyright (C) 1989, 1991 by Jef Poskanzer.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation. This software is provided "as is" without express or
# implied warranty.
# Default values, usually overridden by top-level Makefile.
CC = gcc
#CC = gcc -ansi -pedantic -fcombine-regs -fpcc-struct-return
CFLAGS = -O3 -Zcrtdll
#CFLAGS = -g
#CFLAGS = -g -O
TIFFDEF = -DLIBTIFF
LDFLAGS = -s -Zcrtdll
#LDFLAGS =
INSTALLBINARIES = /usr/new/pbm
INSTALLMANUALS1 = /usr/man/man1
SUFFIXMANUALS1 = 1
INSTALLMANUALS3 = /usr/man/man3
SUFFIXMANUALS3 = 3
INSTALLMANUALS5 = /usr/man/man5
SUFFIXMANUALS5 = 5
MANCP = cp
RANLIB = ar s
SHELL = /bin/sh
INCLUDE = -I..
ALLCFLAGS = $(CFLAGS) $(TIFFDEF) $(INCLUDE)
LIBPBM = libpbm.a
LIB= $(LIBPBM)
LIBDLL= libpbm_dll.a
DLL= libpbm.dll
DEF= libpbm.def
DEFPBM = pbm.h ../pbmplus.h
PORTBINARIES = atktopbm brushtopbm cmuwmtopbm g3topbm \
icontopbm gemtopbm macptopbm mgrtopbm \
pbmclean pbmlife pbmmake pbmmask pbmpscale \
pbmreduce pbmtext \
pbmto10x pbmto4425 pbmtoascii pbmtoatk \
pbmtobbnbg pbmtocmuwm \
pbmtoepsi pbmtoepson \
pbmtog3 pbmtogem pbmtogo pbmtoicon pbmtolj \
pbmtoln03 pbmtolps pbmtomacp pbmtomgr \
pbmtopi3 pbmtoplot pbmtoptx \
pbmtox10bm pbmtoxbm pbmtoybm pbmtozinc \
pbmupc pi3topbm pktopbm xbmtopbm ybmtopbm
MATHBINARIES = pbmtopk
BINARIES = $(PORTBINARIES) $(MATHBINARIES)
OBJECTS = atktopbm.o brushtopbm.o cmuwmtopbm.o g3topbm.o \
icontopbm.o gemtopbm.o macptopbm.o mgrtopbm.o \
pbmclean.o pbmlife.o pbmmake.o pbmmask.o pbmpscale.o \
pbmreduce.o pbmtext.o \
pbmto10x.o pbmto4425.o pbmtoascii.o pbmtoatk.o \
pbmtobbnbg.o pbmtocmuwm.o \
pbmtoepsi.o pbmtoepson.o \
pbmtog3.o pbmtogem.o pbmtogo.o pbmtoicon.o pbmtolj.o \
pbmtoln03.o pbmtolps.o pbmtomacp.o pbmtomgr.o \
pbmtopi3.o pbmtoplot.o pbmtoptx.o \
pbmtox10bm.o pbmtoxbm.o pbmtoybm.o pbmtozinc.o \
pbmupc.o pi3topbm.o pktopbm.o xbmtopbm.o ybmtopbm.o \
pbmtopk.o
OBJS = libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
MANUALS1 = $(BINARIES)
MANUALS3 = libpbm
MANUALS5 = pbm
all: binaries
#all: merge
#install: install.bin
install: install.merge
binaries: $(BINARIES)
install.bin: binaries
cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
cp $(BINARIES) $(INSTALLBINARIES)
merge: pbmmerge
pbmmerge: pbmmerge.c $(OBJECTS) $(LIBPBM)
$(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) $(LIBPBM)
install.merge: install.pbmmerge
install.pbmmerge: pbmmerge
cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
cp pbmmerge $(INSTALLBINARIES)
cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pbmmerge $$i ; done
rm -f $(INSTALLBINARIES)/pbmmerge
install.man:
for i in $(MANUALS1) ; do \
rm -f $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; \
$(MANCP) $$i.1 $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; \
done
for i in $(MANUALS3) ; do \
rm -f $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; \
$(MANCP) $$i.3 $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; \
done
for i in $(MANUALS5) ; do \
rm -f $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; \
$(MANCP) $$i.5 $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; \
done
# Rule for plain programs.
$(PORTBINARIES): $(DEFPBM) $(LIBPBM)
$(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPBM)
# Rule for math-dependent programs.
$(MATHBINARIES): $(DEFPBM) $(LIBPBM)
$(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c -lm $(LIBPBM)
# Rule for objects.
$(OBJECTS): $(DEFPBM)
$(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
# And library.
lib: $(LIB)
$(DEF): $(LIBDLL)
emxexp $(LIBDLL) >$(DEF).exports
cat $(DEF).header $(DEF).exports >$(DEF)
$(DLL): $(DEF) $(OBJS) $(LIBDLL)
$(CC) -Zdll -Zcrtdll ${DEF} -o $@ $(OBJS)
${LIBDLL}: ${OBJS}
rm -f $@
${AR} rc $@ ${OBJS}
${RANLIB} $@
$(LIB): $(DLL)
emximp -o $(LIB) $(DEF)
libpbm1.o: $(DEFPBM) ../version.h ../compile.h libpbm.h libpbm1.c
$(CC) $(ALLCFLAGS) -c libpbm1.c
libpbm2.o: $(DEFPBM) libpbm.h libpbm2.c
$(CC) $(ALLCFLAGS) -c libpbm2.c
libpbm3.o: $(DEFPBM) libpbm.h libpbm3.c
$(CC) $(ALLCFLAGS) -c libpbm3.c
libpbm4.o: $(DEFPBM) libpbm.h libpbm4.c
$(CC) $(ALLCFLAGS) -c libpbm4.c
libpbm5.o: $(DEFPBM) pbmfont.h libpbm5.c
$(CC) $(ALLCFLAGS) -c libpbm5.c
# Other dependencies.
atktopbm atktopbm.o: atktopbm.c
brushtopbm brushtopbm.o: brushtopbm.c
cmuwmtopbm cmuwmtopbm.o: cmuwmtopbm.c cmuwm.h
g3topbm g3topbm.o: g3topbm.c g3.h
icontopbm icontopbm.o: icontopbm.c
gemtopbm gemtopbm.o: gemtopbm.c
macptopbm macptopbm.o: macptopbm.c macp.h
mgrtopbm mgrtopbm.o: mgrtopbm.c mgr.h
pbmclean pbmclean.o: pbmclean.c
pbmlife pbmlife.o: pbmlife.c
pbmmake pbmmake.o: pbmmake.c
pbmmask pbmmask.o: pbmmask.c
pbmpscale pbmpscale.o: pbmpscale.c
pbmreduce pbmreduce.o: pbmreduce.c
pbmtext pbmtext.o: pbmtext.c pbmfont.h
pbmto10x pbmto10x.o: pbmto10x.c
pbmto4425 pbmto4425.o: pbmto4425.c
pbmtoascii pbmtoascii.o: pbmtoascii.c
pbmtoatk pbmtoatk.o: pbmtoatk.c
pbmtobbnbg pbmtobbnbg.o: pbmtobbnbg.c
pbmtocmuwm pbmtocmuwm.o: pbmtocmuwm.c cmuwm.h
pbmtoepson pbmtoepson.o: pbmtoepson.c
pbmtog3 pbmtog3.o: pbmtog3.c g3.h
pbmtogem pbmtogem.o: pbmtogem.c
pbmtogo pbmtogo.o: pbmtogo.c
pbmtoicon pbmtoicon.o: pbmtoicon.c
pbmtolj pbmtolj.o: pbmtolj.c
pbmtoln03 pbmtoln03.o: pbmtoln03.c
pbmtolps pbmtolps.o: pbmtolps.c
pbmtomacp pbmtomacp.o: pbmtomacp.c macp.h
pbmtomgr pbmtomgr.o: pbmtomgr.c mgr.h
pbmtopi3 pbmtopi3.o: pbmtopi3.c
pbmtopk pbmtopk.o: pbmtopk.c
pbmtoplot pbmtoplot.o: pbmtoplot.c
pbmtoptx pbmtoptx.o: pbmtoptx.c
pbmtox10bm pbmtox10bm.o: pbmtox10bm.c
pbmtoxbm pbmtoxbm.o: pbmtoxbm.c
pbmtoybm pbmtoybm.o: pbmtoybm.c
pbmtozinc pbmtozinc.o: pbmtozinc.c
pbmupc pbmupc.o: pbmupc.c
pi3topbm pi3topbm.o: pi3topbm.c
pktopbm pktopbm.o: pktopbm.c
xbmtopbm xbmtopbm.o: xbmtopbm.c
ybmtopbm ybmtopbm.o: ybmtopbm.c
pbmtoepsi pbmtoepsi.o: pbmtoepsi.c
clean:
-rm -f *.o *.a *.cat *~ core $(BINARIES) pbmmerge