# # $Id: Makefile.new,v 1.4 2000/09/26 10:42:55 gino Exp $ # include nan.mk PYTHON_VERSION = 1.6 PYTHON_HOME = $(OCGDIR)/include/python$(PYTHON_VERSION) PYLIB = $(OCGDIR)/lib/python$(PYTHON_VERSION)/config/libpython$(PYTHON_VERSION).a MESA_HOME = /usr/src/Mesa-3.1 INCDIR = ../include INCLUDE = -I$(INCDIR) -I$(PYTHON_HOME) -I/usr/X11R6/include DIR = $(HOM)/src VPATH = $(DIR) # little hack for the render module RENDERDIR = ../render/extern/include CFLAGS += -I../render/extern/include AUDIOLIB = $(HOM)/sound/libsound.a ifeq ($(OS),beos) CFLAGS += -pipe -funsigned-char -fPIC LLIBS = -L/boot/develop/lib/x86/ -lGL -lbe -L/boot/home/config/lib/ -lpython1.5 OB_ADD = beosstuff.o BLENDER = blender EXT = endif ifeq ($(OS),freebsd) CFLAGS += -pipe -funsigned-char -DUSE_OPENAL -pthread EXT = ifeq ($(NAN_GLLIB), glx) COMMENT = "GLx experimental" DADD = -lGL -lGLU SADD = /usr/X11R6/lib/libGL.a /usr/X11R6/lib/libGLU.a BLENDER = blender else COMMENT = "MESA 3.0" CFLAGS += -DMESA30 DADD = -lMesaGL -lMesaGLU SADD = /usr/X11R6/lib/libMesaGL.a /usr/X11R6/lib/libMesaGLU.a BLENDER = blender blenderstatic endif DADD += -L/usr/X11R6/lib/ -lXmu -lXext -lX11 -lm #SADD += -static -L/usr/X11R6/lib/ -lXmu -lXext -lX11 -lm SADD += /usr/X11R6/lib/libXmu.a /usr/X11R6/lib/libXext.a \ /usr/X11R6/lib/libX11.a /usr/lib/libm.a AUDIOLIB += $(BCGDIR)/lib/libopenal.a $(HOM)/sound/libsound.a endif ifeq ($(OS),irix) ifeq ($(OS_VERSION),6.2) CFLAGS += -float endif LLIBS = -lmovieGL -lGLU -lGL -lXmu -lXext -lX11 -lc -lm -ldmedia -lcl -laudio BLENDER = blender EXT = endif ifeq ($(OS),linux) EXT = ifeq ($(CPU),alpha) CFLAGS += -pipe -funsigned-char LLIBS = -lGL -lGLU -L/usr/X11R6/lib/ -lXmu -lXext -lX11 -lc -lm -ldl LOPTS = -export-dynamic BLENDER = blender endif ifeq ($(CPU),i386) COMMENT = "MESA 3.1" INCLUDE += -I$(MESA_HOME)/include CFLAGS += -pipe -funsigned-char -DUSE_OPENAL -pthread LLIBS = -L/usr/X11R6/lib -lXmu -lXext -lX11 -lc -lm -ldl -lpthread LOPTS = -export-dynamic DADD = -lGL -lGLU SADD = $(MESA_HOME)/lib/libGL.a $(MESA_HOME)/lib/libGLU.a AUDIOLIB += $(BCGDIR)/lib/libopenal.a BLENDER = blender blenderstatic endif ifeq ($(CPU),powerpc) COMMENT = "MESA 3.1" INCLUDE += -I/usr/src/MesaCVS/include CFLAGS += -pipe -funsigned-char # -DUSE_OPENAL -lpthread LLIBS = /usr/src/MesaCVS/lib/libGL.a /usr/src/MesaCVS/lib/libGLU.a -L/usr/X11R6/lib/ -lXmu -lXext -lX11 -lc -ldl -lm LOPTS = -export-dynamic BLENDER = blenderstatic endif endif ifeq ($(OS),solaris) CFLAGS += -D__SUN -pipe -funsigned-char -DSUN_OGL_NO_VERTEX_MACROS LLIBS = -lGLU -lGL -lXmu -lXext -lX11 -lc -lm -ldl -lsocket -lnsl BLENDER = blender EXT = endif ifeq ($(OS),windows) CFLAGS += -funsigned-char -DUSE_OPENAL DADD = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib winmm.lib opengl32.lib glu32.lib OB_ADD = winstuff.o winblender.res OB_ADD_PATH = $(DIR)/winstuff.o AUDIOLIB += $(HOM)/openal/*/*.o BLENDER = blender.exe EXT = .exe endif # this might not work for Windows; then it needs to be incorporated in # the above OS dependencies... ifdef NAN_GAME COMMENT += "NAN_GAME" SUMO = -L$(OCGDIR)/sumo/$(NAN_SUMO_DEBUG) KETSJI = -L$(OCGDIR)/gameengine QHULL = -L$(SRCHOME)/extern/qhull CFLAGS += -DNAN_GAME LLIBS += -lketsji -llogic -lrasterizer -lbloutines -lexpression -lsolid -lmoto -lqhull -lstdc++ INCLUDE += -I../../sumo/include else COMMENT += "without NAN_GAME" SUMO = -L$(OCGDIR)/sumo/$(NAN_SUMO_DEBUG) # QHULL = -L$(SRCHOME)/extern/qhull -lqhull LLIBS += -lsolid -lmoto -lstdc++ INCLUDE += -I../../sumo/include endif # the line INCLUDE += -I../include/python/ should be done after other # include paths have been added. This enables overriding include files # in ../include/python.... # NO LONGER NEEDED #INCLUDE += -I../include/python/ GLUT = $(HOM)/wtk/libwtk.a GLUT = $(HOM)/glut/libglut.a SLIBS = $(HOM)/misc/libmisc.a $(HOM)/imbuf/libimbuf.a \ $(HOM)/avi/libavi.a $(HOM)/jpeg/libjpeg.a \ $(HOM)/render/librender.a \ $(AUDIOLIB) DBLENDER = dblender dblenderstatic LIBSTATIC = $(KETSJI) $(SUMO) $(QHULL) $(PYLIB) $(GLUT) $(SLIBS) $(LLIBS) $(SADD) LIBS = $(KETSJI) $(SUMO) $(QHULL) $(PYLIB) $(GLUT) $(SLIBS) $(LLIBS) $(DADD) all: makedir blendtarget makedir: FORCE @[ -d $(DIR) ] || mkdir $(DIR) @cp -f .obj.Makefile $(DIR)/Makefile ifdef COMMENT @echo "****> NOTE: $(COMMENT)" endif install: all @echo "****> install blender$(EXT) in $(BCGDIR)/exe/" @[ ! -f $(DIR)/blender$(EXT) ] || \ cp -f $(DIR)/blender$(EXT) $(BCGDIR)/exe/ @[ ! -f $(DIR)/blenderstatic ] || \ cp -f $(DIR)/blenderstatic $(BCGDIR)/exe/ # Note: FREE=-DFREE may be inherited from source/Makefile. OB_EDIT = edit.o editcurve.o editfont.o editipo.o \ editmesh.o editobject.o isect.o scanfill.o editface.o \ editsound.o sector.o life.o editgroup.o OB_GRAPHICS = buttons.o drawimage.o \ drawimasel.o drawipo.o displist.o \ drawobject.o drawoops.o drawscene.o \ drawseq.o drawtext.o drawview.o \ editika.o editimasel.o editkey.o editlattice.o \ editmball.o editoops.o drawmesh.o \ editseq.o editsima.o editview.o filesel.o \ headerbuttons.o mywindow.o os_specific.o playanim.o \ screen.o space.o toets.o \ toolbox.o usiblender.o view.o view2d.o drawsound.o \ vpaint.o interface.o editsca.o packedFile.o OB_FILE = genfile.o fileops.o readfile.o writefile.o OB_STANDALONE = $(DIR)/../makesdna/DNA.o keyval.o imageprocess.o noise.o psfont.o rct.o OB_MIXMODEL = anim.o arithb.o blender.o curve.o effect.o \ exotic.o font.o ika.o image.o imasel.o ipo.o \ key.o library.o material.o mball.o mesh.o object.o oops.o \ scene.o sequence.o text.o world.o property.o sca.o group.o OB_RENDER = writeavi.o writemovie.o OB_DATA = Bfont.o splash.jpg.o blenderbuttons.o cmap.tga.o cmovie.tga.o B.blend.o Bfs.o OB_RADIO = radio.o radfactors.o radnode.o radpreprocess.o radpostprocess.o \ raddisplay.o OB_PYTHON = py_main.o py_vector.o py_matrix.o py_datablock.o\ py_interface.o py_draw.o py_demo.o py_nmesh.o py_nurbs.o OBJS = $(OB_EDIT) $(OB_GRAPHICS) $(OB_FILE) $(OB_STANDALONE) $(OB_MIXMODEL) \ $(OB_RENDER) $(OB_DATA) $(OB_RADIO) $(OB_PYTHON) $(OB_ADD) .c.o: $(CC) $(FREE) -c -o $(DIR)/$@ $< .rc.res: rc /fo$(DIR)/$@ $< dist: $(DBLENDER) dblender: blender (cd $(DIR) && \ strip blender && \ cp blender .. ) dblenderstatic: blenderstatic (cd $(DIR) && \ strip blenderstatic && \ cp blenderstatic .. ) blendtarget: $(BLENDER) blenderp: $(OBJS) $(SLIBS) $(GLUT) $(CC) -DWITH_PYTHON $(FREE) $(CFLAGS) $(INCLUDE) -c -o $(DIR)/text.o ../src/text.c $(CC) -o $(DIR)/blenderp $(OBJS) $(PYLIB) $(LIBS) $(LOPTS) blender$(EXT): $(OBJS) $(SLIBS) $(GLUT) @echo "****> Dynamic version" cd $(DIR) && $(CC) -o blender$(EXT) $(OBJS) $(LIBS) $(LOPTS) blenderstatic: $(OBJS) $(SLIBS) $(GLUT) @echo "****> Static version" cd $(DIR) && $(CC) -o blenderstatic $(OBJS) $(LIBSTATIC) $(LOPTS) gltest: gltest.o $(CC) gltest.o $(GLUT) -lGLU -lGL -lXmu -lXext -lX11 -lc -o $(DIR)/gltest padding: padding.o $(CC) padding.o -lc -o $(DIR)/padding clean: cd $(DIR) && rm -f *.o blender$(EXT) $(BLENDER) $(OB_EDIT): $(INCDIR)/blender.h $(INCDIR)/screen.h $(INCDIR)/edit.h $(INCDIR)/mydevice.h $(OB_GRAPHICS): $(INCDIR)/blender.h $(INCDIR)/screen.h $(INCDIR)/edit.h $(INCDIR)/graphics.h $(INCDIR)/mydevice.h $(OB_MIXMODEL): $(INCDIR)/blender.h $(INCDIR)/screen.h $(INCDIR)/edit.h $(OB_FILE): $(INCDIR)/blender.h $(INCDIR)/screen.h $(INCDIR)/file.h $(RENDERDIR)/render.h $(INCDIR)/effect.h $(INCDIR)/sequence.h $(INCDIR)/ika.h $(INCDIR)/oops.h $(OB_RENDER): $(INCDIR)/blender.h $(RENDERDIR)/render.h $(OB_RADIO): $(INCDIR)/blender.h $(INCDIR)/radio.h $(OB_PYTHON): $(INCDIR)/blender.h $(OB_STANDALONE): $(INCDIR)/blender.h writeavi.o: $(INCDIR)/avi.h editsca.o sca.o readfile.o writefile.o sector.o life.o: $(INCDIR)/game.h $(INCDIR)/sector.h interface.o editsca.o usiblender.o toolbox.o buttons.o headerbuttons.o space.o screen.o drawipo.o filesel.o: $(INCDIR)/interface.h drawimasel.o imasel.o editimasel.o readfile.o writefile.o: $(INCDIR)/imasel.h drawoops.o editoops.o oops.o: $(INCDIR)/oops.h drawipo.o editipo.o: $(INCDIR)/ipo.h world.o material.o image.o buttons.o screen.o filesel.o toets.o displist.o: $(RENDERDIR)/render.h sequence.o editseq.o drawseq.o editipo.o ipo.o drawipo.o: $(INCDIR)/sequence.h effect.o buttons.o drawobject.o initrender.o: $(INCDIR)/effect.h ika.o editlattice.o ipo.o editika.o drawobject.o object.o library.o headerbuttons.o editobject.o buttons.o: $(INCDIR)/ika.h text.o drawtext.o: $(INCDIR)/text.h filesel.o library.o space.o headerbuttons.o editsound.o drawsound.o readfile.o writefile.o:$(INCDIR)/sound.h group.o editgroup.o headerbuttons.o readfile.o writefile.o:$(INCDIR)/group.h struct: genfile.o struct.c cc genfile.o struct.c ../misc/libmisc.a -lc -o $(DIR)/struct .SUFFIXES: .c .o .rc .res FORCE: