# Makefile for T3DLIB
# $Id: Makefile,v 1.28 1993/02/15 10:03:42 glewis Exp $

REV=R39
C_SRCS=read.c write.c readtddd.c writeray.c writeps.c writemif.c writevort.c \
	   writenff.c writeoff.c writedxf.c sort.c freeworld.c merge.c writeim.c \
	   writepov.c writelwob.c readlwob.c
# OBJS=${C_SRCS:.c=.o}
OBJS=  read.o write.o readtddd.o writeray.o writeps.o writemif.o writevort.o \
	   writenff.o writeoff.o writedxf.o sort.o freeworld.o merge.o writeim.o \
	   writepov.o writelwob.o readlwob.o
#
# For the Amiga, using SAS/C 6.2...
#
# CC=sc
# CFLAGS=
# GST=t3d.gst
# LDLIBS=t3d.lib
# LDFLAGS=
# AR=oml
# AROPTS=
# RANLIB=ranlib
# LINKFLAGS=link
# RM=delete
#
# For UNIX,
#
CC=gcc
CFLAGS=-g -ansi
GST= # t3d.gst
LDLIBS=libt3d.a
LDFLAGS=/usr/ucblib/libucb.a -lm
AR=ar
AROPTS=rcu
RANLIB=ranlib
LINKFLAGS=-o $@
RM=rm

.c.o:
	$(CC) $(CFLAGS) -c $*.c

all: $(LDLIBS) readwrite tddd2off tddd2nff tddd2vort tddd2ray tddd2ps \
	tddd2mif tddd2dxf tddd2pov
	@echo " "
	@echo 'Thank you for supporting this Shareware by sending your 25 (US) dollars to:'
	@echo " "
	@echo "Glenn M. Lewis"
	@echo "8341 Olive Hill Court"
	@echo "Fair Oaks, CA  95628"
	@echo "(USA)"
	@echo " "

reg: bumpit spherize mbb set_texture_path set_brush_path texit

# $(OBJS): t3dlib.h
# And now for the really silly stuff we need to add to passify SMake:
set_texture_path.o : set_texture_path.c t3dlib.h $(GST)
set_brush_path.o   : set_brush_path.c   t3dlib.h $(GST)
texit.o     : texit.c     t3dlib.h $(GST)
bumpit.o    : bumpit.c    t3dlib.h $(GST) noise.h
noise.o     : noise.c     t3dlib.h $(GST) noise.h
spherize.o  : spherize.c  t3dlib.h $(GST)
mbb.o       : mbb.c       t3dlib.h $(GST)
read.o      : read.c      t3dlib.h $(GST)
write.o     : write.c     t3dlib.h $(GST)
readtddd.o  : readtddd.c  t3dlib.h $(GST)
writeray.o  : writeray.c  t3dlib.h $(GST)
writeps.o   : writeps.c   t3dlib.h $(GST)
writemif.o  : writemif.c  t3dlib.h $(GST)
writevort.o : writevort.c t3dlib.h $(GST)
writenff.o  : writenff.c  t3dlib.h $(GST)
writeoff.o  : writeoff.c  t3dlib.h $(GST)
writedxf.o  : writedxf.c  t3dlib.h $(GST)
sort.o      : sort.c      t3dlib.h $(GST)
freeworld.o : freeworld.c t3dlib.h $(GST)
merge.o     : merge.c     t3dlib.h $(GST)
writeim.o   : writeim.c   t3dlib.h $(GST)
writepov.o  : writepov.c  t3dlib.h $(GST)
writelwob.o : writelwob.c t3dlib.h $(GST)
readlwob.o  : readlwob.c  t3dlib.h $(GST)
tddd2lwob.o : tddd2lwob.c t3dlib.h $(GST)
tddd2pov.o  : tddd2pov.c  t3dlib.h $(GST)
tddd2dxf.o  : tddd2dxf.c  t3dlib.h $(GST)
tddd2nff.o  : tddd2nff.c  t3dlib.h $(GST)
tddd2off.o  : tddd2off.c  t3dlib.h $(GST)
tddd2vort.o : tddd2vort.c t3dlib.h $(GST)
tddd2ray.o  : tddd2ray.c  t3dlib.h $(GST)
tddd2ps.o   : tddd2ps.c   t3dlib.h $(GST)
tddd2mif.o  : tddd2mif.c  t3dlib.h $(GST)
readwrite.o : readwrite.c t3dlib.h $(GST)
#

t3d.gst: t3dlib.h SCOPTIONS
	sc mgst=t3d.gst dummygst.c

$(LDLIBS): $(OBJS)
	$(AR) $(AROPTS) $(LDLIBS) $(OBJS)
#	$(RANLIB) $(LDLIBS)

# The next two aren't finished yet...
#
# morph: $(LDLIBS) morph.o morphlib.o
# 	$(CC) $(CFLAGS) $(LINKFLAGS) morph.o morphlib.o $(LDLIBS) $(LDFLAGS)
#
# tddd2lwob: $(LDLIBS) tddd2lwob.o
#	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2lwob.o $(LDLIBS) $(LDFLAGS)

tddd2pov: $(LDLIBS) tddd2pov.o
	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2pov.o $(LDLIBS) $(LDFLAGS)

tddd2dxf: $(LDLIBS) tddd2dxf.o
	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2dxf.o $(LDLIBS) $(LDFLAGS)

tddd2nff: $(LDLIBS) tddd2nff.o
	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2nff.o $(LDLIBS) $(LDFLAGS)

tddd2off: $(LDLIBS) tddd2off.o
	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2off.o $(LDLIBS) $(LDFLAGS)

tddd2vort: $(LDLIBS) tddd2vort.o
	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2vort.o $(LDLIBS) $(LDFLAGS)

tddd2ray: $(LDLIBS) tddd2ray.o
	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2ray.o $(LDLIBS) $(LDFLAGS)

tddd2ps: $(LDLIBS) tddd2ps.o
	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2ps.o $(LDLIBS) $(LDFLAGS)

tddd2mif: $(LDLIBS) tddd2mif.o
	$(CC) $(CFLAGS) $(LINKFLAGS) tddd2mif.o $(LDLIBS) $(LDFLAGS)

readwrite: $(LDLIBS) readwrite.o
	$(CC) $(CFLAGS) $(LINKFLAGS) readwrite.o $(LDLIBS) $(LDFLAGS)

spherize: $(LDLIBS) spherize.o
	$(CC) $(CFLAGS) $(LINKFLAGS) spherize.o $(LDLIBS) $(LDFLAGS)

mbb: $(LDLIBS) mbb.o
	$(CC) $(CFLAGS) $(LINKFLAGS) mbb.o $(LDLIBS) $(LDFLAGS)

set_texture_path: $(LDLIBS) set_texture_path.o
	$(CC) $(CFLAGS) $(LINKFLAGS) set_texture_path.o $(LDLIBS) $(LDFLAGS)

set_brush_path: $(LDLIBS) set_brush_path.o
	$(CC) $(CFLAGS) $(LINKFLAGS) set_brush_path.o $(LDLIBS) $(LDFLAGS)

texit: $(LDLIBS) texit.o
	$(CC) $(CFLAGS) $(LINKFLAGS) texit.o overlay_stub.o $(LDLIBS) $(LDFLAGS)

bumpit: $(LDLIBS) bumpit.o noise.o
	$(CC) $(CFLAGS) $(LINKFLAGS) bumpit.o noise.o $(LDLIBS) $(LDFLAGS)

clean:
	rm -f *.o $(LDLIBS) tddd2off tddd2nff tddd2vort tddd2ray tddd2ps tddd2mif \
	tddd2dxf

.1.doc:
	anro -mman:an.nro $*.1 > $*.doc

bumpit.doc           : bumpit.1
mbb.doc              : mbb.1
readwrite.doc        : readwrite.1
set_brush_path.doc   : set_brush_path.1
set_texture_path.doc : set_texture_path.1
spherize.doc         : spherize.1
tddd2dxf.doc         : tddd2dxf.1
tddd2mif.doc         : tddd2mif.1
tddd2nff.doc         : tddd2nff.1
tddd2off.doc         : tddd2off.1
tddd2pov.doc         : tddd2pov.1
tddd2ps.doc          : tddd2ps.1
tddd2ray.doc         : tddd2ray.1
tddd2vort.doc        : tddd2vort.1
texit.doc            : texit.1

man: readwrite.doc tddd2off.doc tddd2nff.doc tddd2vort.doc tddd2ray.doc \
	 tddd2ps.doc tddd2mif.doc tddd2dxf.doc tddd2pov.doc texit.doc \
	 bumpit.doc spherize.doc mbb.doc set_texture_path.doc set_brush_path.doc

lha: publha reglha

publha: all man
	-$(RM) T3DLIB_Src_$(REV).lha
	lha a T3DLIB_Src_$(REV).lha README.$(REV) CHANGES SMakefile SCOPTIONS t3dlib.h \
		Makefile read.c write.c readtddd.c writeray.c writeps.c \
		writemif.c writevort.c writenff.c writeoff.c writedxf.c sort.c \
		freeworld.c merge.c writeim.c writepov.c writelwob.c readlwob.c \
		tddd2lwob.c tddd2pov.c tddd2dxf.c tddd2nff.c tddd2off.c tddd2vort.c \
		tddd2ray.c tddd2ps.c tddd2mif.c readwrite.c \
		read_protos.h write_protos.h readtddd_protos.h writeray_protos.h \
		writeps_protos.h writemif_protos.h writevort_protos.h \
		writenff_protos.h writeoff_protos.h writedxf_protos.h sort_protos.h \
		freeworld_protos.h merge_protos.h writeim_protos.h \
		writepov_protos.h writelwob_protos.h readlwob_protos.h \
		tddd2lwob_protos.h tddd2pov_protos.h tddd2dxf_protos.h \
		tddd2nff_protos.h tddd2off_protos.h tddd2vort_protos.h \
		tddd2ray_protos.h tddd2ps_protos.h tddd2mif_protos.h \
		readwrite_protos.h
	-$(RM) T3DLIB_Exe_$(REV).lha
	lha a T3DLIB_Exe_$(REV).lha \
		$(LDLIBS) readwrite tddd2off tddd2nff tddd2vort tddd2ray tddd2ps \
		tddd2mif tddd2dxf tddd2pov \
		readwrite.doc tddd2off.doc tddd2nff.doc tddd2vort.doc tddd2ray.doc \
		tddd2ps.doc tddd2mif.doc tddd2dxf.doc tddd2pov.doc \
		readwrite.1 tddd2off.1 tddd2nff.1 tddd2vort.1 tddd2ray.1 tddd2ps.1 \
		tddd2mif.1 tddd2dxf.1 tddd2pov.1 \
		bumpit.doc spherize.doc mbb.doc set_texture_path.doc set_brush_path.doc \
		texit.doc texit.1 \
		bumpit.1 spherize.1 mbb.1 set_texture_path.1 set_brush_path.1


reglha: reg
	-$(RM) T3DLIB_Reg_$(REV).lha
	lha a T3DLIB_Reg_$(REV).lha \
		bumpit spherize mbb set_texture_path set_brush_path texit \
		bumpit.c spherize.c mbb.c set_texture_path.c set_brush_path.c \
		noise.c bumpit_protos.h spherize_protos.h mbb_protos.h \
		set_texture_path_protos.h set_brush_path_protos.h noise.h
