# Non - official Makefile to compile Houdini plugins and # standalone applications # Author: Sebastian H. Schmidt # Web: sebastian.h.schmidt gmail.com # WWW: subsites.org # # Use at your own risk !! # CC = g++ LINK = g++ # Find out which version of gcc we're using. We need at least gcc 3. GCCVER := $(shell $(CXX) -dumpversion) GCCVER_W_SPACES := $(subst ., ,$(GCCVER)) GCCMAJORVER := $(word 1,$(GCCVER_W_SPACES)) GCCMINORVER := $(word 2,$(GCCVER_W_SPACES)) GCC3 = 1 ifeq ($(GCCMAJORVER), 4) GCC4 = 1 endif # Check if this is a 64-bit platform. #PLATFORM := $(shell uname -m) #ifeq ($(PLATFORM), x86_64) # AMD64 = 1 #endif ifndef PLATFORM PLATFORM := $(shell uname -m) endif ifeq ($(PLATFORM),i386) MACHTYPE = x86_64 AMD64 = 1 endif ifeq ($(PLATFORM),x86_64) MACHTYPE = x86_64 AMD64 = 1 endif ifeq ($(PLATFORM),ppc) MACHTYPE = ppc64 PPC64 = 1 endif ifeq ($(PLATFORM),ppc64) MACHTYPE = ppc64 PPC64 = 1 endif SYSTEMDEFS = -arch $(MACHTYPE) ifdef AMD64 SYSTEMDEFS += -DAMD64 -fPIC endif SIZEOF_VOID_P = 4 ifdef AMD64 SIZEOF_VOID_P = 8 endif ifdef PPC64 SIZEOF_VOID_P = 8 endif ARCHDEFS = $(SYSTEMDEFS) SIZEOF_DEFS = -DSIZEOF_VOID_P=$(SIZEOF_VOID_P) INCINC = $(INCDIRS) -I$(HFS)/toolkit/include -I$(HFS)/toolkit/include/htools WFLAGS = -Wall -W -Wno-parentheses -Wno-sign-compare -Wno-reorder -Wno-uninitialized -Wunused -Wno-unused-parameter ifndef OPTIMIZER OPTIMIZER = -O2 endif HDEFINES = -DVERSION=\"$(HOUDINI_VERSION)\" -DDLLEXPORT="" -DMAKING_DSO -D_GNU_SOURCE -DMBSD -DMBSD_COCOA -DMBSD_INTEL $(ARCHDEFS) $(SIZEOF_DEFS) -DSESI_LITTLE_ENDIAN -DENABLE_THREADS -DUSE_PTHREADS -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fobjc-gc-only -c -DGCC3 ifdef GCC4 HDEFINES += -DGCC4 -DGCC3 -Wno-deprecated else HDEFINES += -fno-exceptions endif HLIBINC = -L$(HFS)/dsolib HLIBDIR = /Library/Frameworks/Houdini.framework/Versions/$(HOUDINI_VERSION)/Libraries PLIBPATH = -L$HFS/python/lib PYTHONLIB = "-lpython2.5" HLIBS = -Wl,-rpath,${HLIBDIR} -L${HLIBDIR} -L$HFS/Frameworks/Houdini.framework/Versions/$(HOUDINI_VERSION)/Libraries -F$HFS/Frameworks -framework Houdini SYSLIBS = -arch ${MACHTYPE} -fobjc-gc-only -framework OpenGL -framework Cocoa SHAREDFLAG = -bundle OBJOUTPUT = -o DSOOUTPUT = -o SAOUTPUT = -o OBJFLAGS = -c $(HDEFINES) $(INCINC) $(WFLAGS) $(OPTIMIZER) DSOFLAGS = $(SYSLIBINC) $(LIBDIRS) $(LIBS) $(HLIBS) $(SYSLIBS) SAFLAGS = $(HLIBINC) $(PLIBPATH) $(HLIBS) $(PYTHONLIB) $(DSOFLAGS)