ports/cad/openctm/files/patch-tools_Makefile.linux
Diane Bruce 066916c91c OpenCTM is a file format, a software library and a tool set for compression
of 3D triangle meshes. The geometry is compressed to a fraction of comparable
file formats (3DS, STL, COLLADA...), and the format is accessible through
a simple, portable API

WWW: https://sourceforge.net/projects/openctm/
2020-03-15 00:39:34 +00:00

116 lines
4.3 KiB
Text

--- tools/Makefile.linux.orig 2020-03-15 00:26:34 UTC
+++ tools/Makefile.linux
@@ -25,50 +25,57 @@
# distribution.
###############################################################################
+LOCALBASE = %%LOCALBASE%%
OPENCTMDIR = ../lib
-GLEWDIR = glew
-JPEGDIR = jpeg
+#GLEWDIR = glew
+GLEWDIR = $(LOCALBASE)/include/GL
+#JPEGDIR = jpeg
RPLYDIR = rply
-TINYXMLDIR = tinyxml
-ZLIBDIR = zlib
-PNGLITEDIR = pnglite
+#TINYXMLDIR = tinyxml
+#ZLIBDIR = zlib
+#PNGLITEDIR = pnglite
-CPP = g++
-CPPFLAGS = -c -O3 -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(JPEGDIR) -I$(TINYXMLDIR) -I$(GLEWDIR) -I$(ZLIBDIR) -I$(PNGLITEDIR)
+CC ?= cc
+CXX ?= c++
+CPP = ${CXX}
+CPPFLAGS += -W -Wall `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(GLEWDIR) -I$(LOCALBASE)/include
MESHOBJS = mesh.o meshio.o ctm.o ply.o rply.o stl.o 3ds.o dae.o obj.o lwo.o off.o wrl.o
CTMCONVOBJS = ctmconv.o common.o systimer.o convoptions.o $(MESHOBJS)
-CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_gtk.o convoptions.o glew.o pnglite.o $(MESHOBJS)
+CTMVIEWEROBJS = ctmviewer.o common.o image.o systimer.o sysdialog_gtk.o convoptions.o $(MESHOBJS)
CTMBENCHOBJS = ctmbench.o systimer.o
all: ctmconv ctmviewer ctmbench
clean:
rm -f ctmconv ctmviewer ctmbench $(CTMCONVOBJS) $(CTMVIEWEROBJS) $(CTMBENCHOBJS) bin2c phong_frag.h phong_vert.h
- cd $(JPEGDIR) && $(MAKE) -f makefile.linux clean
- cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux clean
- cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux clean
+# cd $(JPEGDIR) && $(MAKE) -f makefile.linux clean
+# cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux clean
+# cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux clean
-libopenctm.so: $(OPENCTMDIR)/libopenctm.so
- cp $< $@
+#libopenctm.so: $(OPENCTMDIR)/libopenctm.so
+# cp $< $@
-ctmconv: $(CTMCONVOBJS) $(TINYXMLDIR)/libtinyxml.a libopenctm.so
- $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) $(CTMCONVOBJS) -Wl,-rpath,. -lopenctm -ltinyxml
+ctmconv: $(CTMCONVOBJS)
+ $(CPP) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMCONVOBJS) -lopenctm \
+ -L$(LOCALBASE)/lib -ltinyxml
-ctmviewer: $(CTMVIEWEROBJS) $(JPEGDIR)/libjpeg.a $(TINYXMLDIR)/libtinyxml.a $(ZLIBDIR)/libz.a libopenctm.so
- $(CPP) -s -o $@ -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) -L$(ZLIBDIR) $(CTMVIEWEROBJS) -Wl,-rpath,. -lopenctm -ltinyxml -ljpeg -lz -lglut `pkg-config --libs gtk+-2.0`
+ctmviewer: $(CTMVIEWEROBJS)
+ $(CPP) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) -L$(LOCALBASE)/lib \
+ $(CTMVIEWEROBJS) -lopenctm -ltinyxml -ljpeg -lz -lglut -lGL -lGLU -lGLEW \
+ -lpnglite `pkg-config --libs gtk+-2.0`
-ctmbench: $(CTMBENCHOBJS) libopenctm.so
- $(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -Wl,-rpath,. -lopenctm
+ctmbench: $(CTMBENCHOBJS)
+ $(CPP) $(LDFLAGS) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -lopenctm
%.o: %.cpp
- $(CPP) $(CPPFLAGS) -o $@ $<
+ $(CPP) $(CPPFLAGS) -c -o $@ $<
ctmconv.o: ctmconv.cpp systimer.h convoptions.h mesh.h meshio.h
ctmviewer.o: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h meshio.h phong_vert.h phong_frag.h icons/icon_open.h icons/icon_save.h icons/icon_help.h
ctmbench.o: ctmbench.cpp systimer.h
common.o: common.cpp common.h
-image.o: image.cpp image.h common.h $(JPEGDIR)/libjpeg.a
+image.o: image.cpp image.h common.h
systimer.o: systimer.cpp systimer.h
sysdialog_gtk.o: sysdialog_gtk.cpp sysdialog.h
convoptions.o: convoptions.cpp convoptions.h
@@ -93,20 +100,20 @@ phong_frag.h: phong.frag bin2c
bin2c: bin2c.cpp
$(CPP) -Os -W -Wall -o $@ $<
-$(JPEGDIR)/libjpeg.a:
- cd $(JPEGDIR) && $(MAKE) -f makefile.linux libjpeg.a
+#$(JPEGDIR)/libjpeg.a:
+# cd $(JPEGDIR) && $(MAKE) -f makefile.linux libjpeg.a
+#
+#$(ZLIBDIR)/libz.a:
+# cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux
+#
+#glew.o: $(GLEWDIR)/glew.c
+# ${CC} -c -Os -W -I$(GLEWDIR) -o $@ $<
-$(ZLIBDIR)/libz.a:
- cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux
-
-glew.o: $(GLEWDIR)/glew.c
- gcc -c -Os -W -I$(GLEWDIR) -o $@ $<
-
rply.o: $(RPLYDIR)/rply.c
- gcc -c -O2 -W -I$(RPLYDIR) -o $@ $<
+ ${CC} -c -O2 -W -I$(RPLYDIR) -o $@ $<
-pnglite.o: $(PNGLITEDIR)/pnglite.c
- gcc -c -O2 -W -I$(PNGLITEDIR) -o $@ $<
-
-$(TINYXMLDIR)/libtinyxml.a:
- cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux
+#pnglite.o: $(PNGLITEDIR)/pnglite.c
+# ${CC} -c -O2 -W -I$(PNGLITEDIR) -o $@ $<
+#
+#$(TINYXMLDIR)/libtinyxml.a:
+# cd $(TINYXMLDIR) && $(MAKE) -f Makefile.linux