From 8a3485f9f885c7c096bb090f79d125ff899625e4 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Sun, 8 Feb 2009 07:12:11 +0000 Subject: [PATCH] Modified Makefile for building qhull on Haiku, it removes a few -lm cases, and changes /usr/local to /boot/common in a few places. Note that qhull's source needs to be converted from dos2unix formatting prior to building. --- media-libs/qhull/Makefile.haiku | 191 ++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 media-libs/qhull/Makefile.haiku diff --git a/media-libs/qhull/Makefile.haiku b/media-libs/qhull/Makefile.haiku new file mode 100644 index 000000000..488fc4243 --- /dev/null +++ b/media-libs/qhull/Makefile.haiku @@ -0,0 +1,191 @@ +# Unix Makefile for qhull and rbox +# +# see README.txt +# the Unix distribution contains a configure Makefile +# +# make to produce qhull qconvex qdelaunay qhalf qvoronoi rbox +# make qvoronoi to produce qvoronoi (etc.) +# make qhullx to produce qhull qconvex etc. w/o using libqhull.a +# make doc to print documentation +# make install to copy qhull, rbox, qhull.1, rbox.1 to BINDIR, MANDIR +# make new to rebuild qhull and rbox from source +# +# make printall to print all files +# make user_eg to produce user_eg +# make user_eg2 to produce user_eg2 +# make clean to remove object files and core +# make cleanall to remove all generated files +# +# PRINTMAN -- command for printing manual pages +# PRINTC -- command for printing C files +# BINDIR -- directory where to copy executables +# MANDIR -- directory where to copy manual pages +# CC -- ANSI C or C++ compiler +# CCOPTS1 - options used to compile .c files +# CCOPTS2 -- options used to link .o files +# +# CFILES -- .c files for printing +# HFILES -- .h files for printing +# DFILES -- documentation files +# MFILES -- man pages and html files +# TFILES -- .txt versions of html html files +# FILES -- all other files +# OBJS -- specifies the object files of libqhull.a +# +BINDIR = /boot/common/bin +MANDIR = /boot/common/man/man1 + +# if you do not have enscript, try a2ps or just use lpr. The files are text. +PRINTMAN = enscript -2rl +PRINTC = enscript -2r +# PRINTMAN = lpr +# PRINTC = lpr + +#for Gnu's gcc compiler -O2 for optimization, -g for debugging, -Wall for check +# +CC = gcc +CCOPTS1 = -O2 -ansi + +# for Sun's cc compiler, -fast or O2 for optimization, -g for debugging, -Xc for ANSI +#CC = cc +#CCOPTS1 = -Xc -v -fast + +# for Silicon Graphics cc compiler, -O2 for optimization, -g for debugging +#CC = cc +#CCOPTS1 = -ansi -O2 + +# for Next cc compiler with fat executable +#CC = cc +#CCOPTS1 = -ansi -O2 -arch m68k -arch i386 -arch hppa + +# for loader, ld +CCOPTS2 = $(CCOPTS1) + +# OBJS in execution frequency order. CFILES after qhull.c are alphabetical +OBJS = user.o global.o stat.o io.o geom2.o poly2.o \ + merge.o qhull.o geom.o poly.o qset.o mem.o + +CFILES= unix.c qhull.c geom.c geom2.c global.c io.c mem.c merge.c poly.c \ + poly2.c qset.c stat.c user.c qconvex.c qdelaun.c qhalf.c qvoronoi.c +HFILES= user.h qhull.h qhull_a.h geom.h io.h mem.h merge.h poly.h qset.h stat.h +TXTFILES= ../Announce.txt ../REGISTER.txt ../COPYING.txt ../README.txt Changes.txt +DOCFILES= ../html/rbox.txt ../html/qhull.txt +FILES= Makefile rbox.c user_eg.c ../eg/q_test ../eg/q_egtest ../eg/q_eg +HTMFILES= qhull.man rbox.man qh-in.htm qh-optg.htm qh-optt.htm qh-optp.htm \ + index.htm qh-quick.htm qh-impre.htm qh-eg.htm \ + qh-optc.htm qh-opto.htm qh-optf.htm qh-optq.htm \ + qh-c.htm qh-faq.htm qhull.htm qconvex.htm qdelaun.htm \ + qh-geom.htm qh-globa.htm qh-io.htm qh-mem.htm qh-merge.htm \ + qh-poly.htm qh-qhull.htm qh-set.htm qh-stat.htm qh-user.htm \ + qdelau_f.htm qhalf.htm qvoronoi.htm qvoron_f.htm rbox.htm + +all: rbox qconvex qdelaunay qhalf qvoronoi qhull + +unix.o: qhull.h user.h mem.h +qconvex.o: qhull.h user.h mem.h +qdelaun.o: qhull.h user.h mem.h +qhalf.o: qhull.h user.h mem.h +qvoronoi.o: qhull.h user.h mem.h +qhull.o: $(HFILES) +geom.o: $(HFILES) +geom2.o: $(HFILES) +global.o: $(HFILES) +io.o: $(HFILES) +mem.o: mem.h +merge.o: $(HFILES) +poly.o: $(HFILES) +poly2.o: $(HFILES) +qset.o: qset.h mem.h +stat.o: $(HFILES) +user.o: $(HFILES) + +.c.o: + $(CC) -c $(CCOPTS1) $< + +clean: + rm -f *.o ../core qconvex qdelaunay qhalf qvoronoi qhull libqhull.a \ + *.exe + +cleanall: clean + rm -f *~ ../rbox ../qhull ../qhalf ../qconvex ../qdelaunay ../qhalf\ + ../qvoronoi ../user_eg ../user_eg2 ../*.exe >/dev/null + +doc: + $(PRINTMAN) $(TXTFILES) $(DOCFILES) + +install: all + cp ../qconvex $(BINDIR)/qconvex + cp ../qdelaunay $(BINDIR)/qdelaunay + cp ../qhalf $(BINDIR)/qhalf + cp ../qhull $(BINDIR)/qhull + cp ../qvoronoi $(BINDIR)/qvoronoi + cp ../rbox $(BINDIR)/rbox + cp ../html/qhull.man $(MANDIR)/qhull.1 + cp ../html/rbox.man $(MANDIR)/rbox.1 + +new: cleanall all + +printall: doc printh printc printf + +printh: + $(PRINTC) $(HFILES) + +printc: + $(PRINTC) $(CFILES) + +printf: + $(PRINTC) $(FILES) + +libqhull.a: $(OBJS) + @echo if 'ar' or 'ranlib' fails, try 'make qhullx' + ar r libqhull.a $(OBJS) + @echo the next line may need to be removed. + -test -x ranlib -o -x ranlib && ranlib libqhull.a + +# don't use ../qconvex. Does not work on Red Hat Linux +qconvex: qconvex.o libqhull.a + $(CC) -o qconvex $(CCOPTS2) qconvex.o -L. -lqhull + cp qconvex .. + +qdelaunay: qdelaun.o libqhull.a + $(CC) -o qdelaunay $(CCOPTS2) qdelaun.o -L. -lqhull + cp qdelaunay .. + +qhalf: qhalf.o libqhull.a + $(CC) -o qhalf $(CCOPTS2) qhalf.o -L. -lqhull + cp qhalf .. + +qvoronoi: qvoronoi.o libqhull.a + $(CC) -o qvoronoi $(CCOPTS2) qvoronoi.o -L. -lqhull + cp qvoronoi .. + +qhull: unix.o libqhull.a + $(CC) -o qhull $(CCOPTS2) unix.o -L. -lqhull + cp qhull .. + -chmod +x ../eg/q_test ../eg/q_eg ../eg/q_egtest + -cd ..; ./rbox D4 | ./qhull + +# compile qhull without using libqhull.a +qhullx: qconvex.o qdelaun.o qhalf.o qvoronoi.o unix.o $(OBJS) + $(CC) -o qconvex $(CCOPTS2) qconvex.o $(OBJS) + $(CC) -o qdelaunay $(CCOPTS2) qdelaun.o $(OBJS) + $(CC) -o qhalf $(CCOPTS2) qhalf.o $(OBJS) + $(CC) -o qvoronoi $(CCOPTS2) qvoronoi.o $(OBJS) + $(CC) -o qhull $(CCOPTS2) unix.o $(OBJS) + cp qconvex qdelaunay qhalf qvoronoi qhull .. + -chmod +x ../eg/q_test ../eg/q_eg ../eg/q_egtest + -cd ..; ./rbox D4 | ./qhull + +rbox: rbox.o + $(CC) -o rbox rbox.o $(CCOPTS2) + cp rbox .. + +user_eg: user_eg.o libqhull.a + $(CC) -o user_eg $(CCOPTS2) user_eg.o -L. -lqhull + cp user_eg .. + +user_eg2: user_eg2.o libqhull.a + $(CC) -o user_eg2 $(CCOPTS2) user_eg2.o -L. -lqhull + cp user_eg2 .. + +# end of Makefile