Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions Makefile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ documentation:


# Installation settings
DESTDIR =
LIBDIR = /usr/lib/
INCDIR = /usr/local/include/
BINDIR = /usr/local/bin/
Expand All @@ -55,11 +56,14 @@ CP = cp
MKDIR = mkdir -p

install:
$(CP) lib/libopenctm.so $(LIBDIR)
$(CP) lib/openctm.h $(INCDIR)
$(CP) lib/openctmpp.h $(INCDIR)
$(CP) tools/ctmconv $(BINDIR)
$(CP) tools/ctmviewer $(BINDIR)
$(MKDIR) $(MAN1DIR)
$(CP) doc/ctmconv.1 $(MAN1DIR)
$(CP) doc/ctmviewer.1 $(MAN1DIR)
$(MKDIR) $(DESTDIR)$(LIBDIR)
$(CP) -P lib/libopenctm.so* $(DESTDIR)$(LIBDIR)
$(MKDIR) $(DESTDIR)$(INCDIR)
$(CP) lib/openctm.h $(DESTDIR)$(INCDIR)
$(CP) lib/openctmpp.h $(DESTDIR)$(INCDIR)
$(MKDIR) $(DESTDIR)$(BINDIR)
$(CP) tools/ctmconv $(DESTDIR)$(BINDIR)
$(CP) tools/ctmviewer $(DESTDIR)$(BINDIR)
$(MKDIR) $(DESTDIR)$(MAN1DIR)
$(CP) doc/ctmconv.1 $(DESTDIR)$(MAN1DIR)
$(CP) doc/ctmviewer.1 $(DESTDIR)$(MAN1DIR)
26 changes: 18 additions & 8 deletions lib/Makefile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,19 @@

LZMADIR = liblzma
CC = gcc
CFLAGS = -O3 -W -Wall -c -fPIC -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM -std=c99 -pedantic
CFLAGS_LZMA = -O3 -W -Wall -c -fPIC -DLZMA_PREFIX_CTM -std=c99 -pedantic
CFLAGS = -O3 -W -Wall -fPIC -std=c99 -pedantic
CFLAGS_LIB = -DOPENCTM_BUILD -DLZMA_PREFIX_CTM -I$(LZMADIR)
CFLAGS_LZMA = -DLZMA_PREFIX_CTM
LDFLAGS = -s
DYNAMICLIBLDFLAGS = -lm $(LDFLAGS)
RM = rm -f
DEPEND = $(CPP) -MM

DYNAMICLIB = libopenctm.so
# Increment whenever there is a backwards-incompatible ABI change
ABI_VERSION = 1

DYNAMICLIB = libopenctm.so.$(ABI_VERSION)
DYNAMICLIBLINK = libopenctm.so

OBJS = openctm.o \
stream.o \
Expand Down Expand Up @@ -61,19 +68,22 @@ LZMA_SRCS = $(LZMADIR)/Alloc.c \

.phony: all clean depend

all: $(DYNAMICLIB)
all: $(DYNAMICLIB) $(DYNAMICLIBLINK)

clean:
$(RM) $(DYNAMICLIB) $(OBJS) $(LZMA_OBJS)
$(RM) $(DYNAMICLIB) $(DYNAMICLIBLINK) $(OBJS) $(LZMA_OBJS)

$(DYNAMICLIB): $(OBJS) $(LZMA_OBJS)
gcc -shared -s -Wl,-soname,$@ -o $@ $(OBJS) $(LZMA_OBJS) -lm
gcc -shared -Wl,-soname,$@ -o $@ $(OBJS) $(LZMA_OBJS) $(DYNAMICLIBLDFLAGS)

$(DYNAMICLIBLINK): $(DYNAMICLIB)
ln -s -f $< $@

%.o: %.c
$(CC) $(CFLAGS) $<
$(CC) -c $(CFLAGS) $(CFLAGS_LIB) $<

%.o: $(LZMADIR)/%.c
$(CC) $(CFLAGS_LZMA) $<
$(CC) -c $(CFLAGS) $(CFLAGS_LZMA) $<

depend:
$(DEPEND) $(SRCS) $(LZMA_SRCS) > make.depend
Expand Down
41 changes: 29 additions & 12 deletions tools/Makefile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,30 @@ 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)

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
CPPFLAGS = -O3 -W -Wall
CPPFLAGS_INCLUDE = `pkg-config --cflags gtk+-2.0` -I$(OPENCTMDIR) -I$(RPLYDIR) -I$(JPEGDIR) -I$(TINYXMLDIR) -I$(GLEWDIR) -I$(ZLIBDIR) -I$(PNGLITEDIR)

LDFLAGS = -s -Wl,-rpath,.
CTMCONVLDFLAGS = -L$(OPENCTMDIR) -L$(TINYXMLDIR)
CTMVIEWERLDFLAGS = -L$(OPENCTMDIR) -L$(TINYXMLDIR) -L$(JPEGDIR) -L$(ZLIBDIR)
CTMBENCHLDFLAGS = -L$(OPENCTMDIR)

CTMCONVLIBS = -lopenctm -ltinyxml
CTMVIEWERLIBS = -lopenctm -ltinyxml -ljpeg -lz -lglut -lGL -lGLU `pkg-config --libs gtk+-2.0`
CTMBENCHLIBS = -lopenctm

RPLYOBJS = rply.o
PNGLITEOBJS = pnglite.o
GLEWOBJS = glew.o
MESHOBJS = mesh.o meshio.o ctm.o ply.o $(RPLYOBJS) 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 $(GLEWOBJS) $(PNGLITEOBJS) $(MESHOBJS)
CTMBENCHOBJS = ctmbench.o systimer.o

ZLIBSTATIC = $(ZLIBDIR)/libz.a
JPEGSTATIC = $(JPEGDIR)/libjpeg.a
TINYXMLSTATIC = $(JPEGDIR)/libtinyxml.a

all: ctmconv ctmviewer ctmbench

clean:
Expand All @@ -52,23 +69,23 @@ clean:
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) $(TINYXMLSTATIC) libopenctm.so
$(CPP) -o $@ $(CTMCONVLDFLAGS) $(CTMCONVOBJS) $(LDFLAGS) $(CTMCONVLIBS)

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 -lGL -lGLU `pkg-config --libs gtk+-2.0`
ctmviewer: $(CTMVIEWEROBJS) $(JPEGSTATIC) $(TINYXMLSTATIC) $(ZLIBSTATIC) libopenctm.so
$(CPP) -o $@ $(CTMVIEWERLDFLAGS) $(CTMVIEWEROBJS) $(LDFLAGS) $(CTMVIEWERLIBS)

ctmbench: $(CTMBENCHOBJS) libopenctm.so
$(CPP) -s -o $@ -L$(OPENCTMDIR) $(CTMBENCHOBJS) -Wl,-rpath,. -lopenctm
$(CPP) -o $@ $(CTMBENCHLDFLAGS) $(CTMBENCHOBJS) $(LDFLAGS) $(CTMBENCHLIBS)

%.o: %.cpp
$(CPP) $(CPPFLAGS) -o $@ $<
$(CPP) -c $(CPPFLAGS) $(CPPFLAGS_INCLUDE) -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 $(JPEGSTATIC)
systimer.o: systimer.cpp systimer.h
sysdialog_gtk.o: sysdialog_gtk.cpp sysdialog.h
convoptions.o: convoptions.cpp convoptions.h
Expand Down Expand Up @@ -96,7 +113,7 @@ bin2c: bin2c.cpp
$(JPEGDIR)/libjpeg.a:
cd $(JPEGDIR) && $(MAKE) -f makefile.linux libjpeg.a

$(ZLIBDIR)/libz.a:
$(ZLIBSTATIC):
cd $(ZLIBDIR) && $(MAKE) -f Makefile.linux

glew.o: $(GLEWDIR)/glew.c
Expand Down