$NetBSD: patch-source_Irrlicht_Makefile,v 1.1 2019/06/30 22:13:14 nia Exp $ * Libtoolized * Use system's libraries --- source/Irrlicht/Makefile.orig Sun Jan 6 13:20:50 2013 +++ source/Irrlicht/Makefile @@ -46,11 +46,7 @@ IRRSWRENDEROBJ = CSoftwareDriver.o CSoftwareTexture.o IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.o CWADReader.o CZipReader.o CPakReader.o CNPKReader.o CTarReader.o CMountPointReader.o irrXML.o CAttributes.o lzma/LzmaDec.o IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o -ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o -JPEGLIBOBJ = jpeglib/jcapimin.o jpeglib/jcapistd.o jpeglib/jccoefct.o jpeglib/jccolor.o jpeglib/jcdctmgr.o jpeglib/jchuff.o jpeglib/jcinit.o jpeglib/jcmainct.o jpeglib/jcmarker.o jpeglib/jcmaster.o jpeglib/jcomapi.o jpeglib/jcparam.o jpeglib/jcprepct.o jpeglib/jcsample.o jpeglib/jctrans.o jpeglib/jdapimin.o jpeglib/jdapistd.o jpeglib/jdatadst.o jpeglib/jdatasrc.o jpeglib/jdcoefct.o jpeglib/jdcolor.o jpeglib/jddctmgr.o jpeglib/jdhuff.o jpeglib/jdinput.o jpeglib/jdmainct.o jpeglib/jdmarker.o jpeglib/jdmaster.o jpeglib/jdmerge.o jpeglib/jdpostct.o jpeglib/jdsample.o jpeglib/jdtrans.o jpeglib/jerror.o jpeglib/jfdctflt.o jpeglib/jfdctfst.o jpeglib/jfdctint.o jpeglib/jidctflt.o jpeglib/jidctfst.o jpeglib/jidctint.o jpeglib/jmemmgr.o jpeglib/jmemnobs.o jpeglib/jquant1.o jpeglib/jquant2.o jpeglib/jutils.o jpeglib/jcarith.o jpeglib/jdarith.o jpeglib/jaricom.o -LIBPNGOBJ = libpng/png.o libpng/pngerror.o libpng/pngget.o libpng/pngmem.o libpng/pngpread.o libpng/pngread.o libpng/pngrio.o libpng/pngrtran.o libpng/pngrutil.o libpng/pngset.o libpng/pngtrans.o libpng/pngwio.o libpng/pngwrite.o libpng/pngwtran.o libpng/pngwutil.o LIBAESGM = aesGladman/aescrypt.o aesGladman/aeskey.o aesGladman/aestab.o aesGladman/fileenc.o aesGladman/hmac.o aesGladman/prng.o aesGladman/pwd2key.o aesGladman/sha1.o aesGladman/sha2.o -BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/bzcompress.o bzip2/decompress.o bzip2/bzlib.o # Next variable is for additional scene nodes etc. of customized Irrlicht versions EXTRAOBJ = @@ -83,13 +79,12 @@ LIBSELECT=64 endif #Linux specific options -staticlib sharedlib install: SYSTEM = Linux +staticlib sharedlib install: SYSTEM = pkgsrc STATIC_LIB = libIrrlicht.a LIB_PATH = ../../lib/$(SYSTEM) INSTALL_DIR = /usr/local/lib sharedlib install: SHARED_LIB = libIrrlicht.so -sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -staticlib sharedlib: CXXINCS += -I/usr/X11R6/include +sharedlib: LDFLAGS += -lGL -lXxf86vm -lpng -ljpeg -lbz2 -lz #OSX specific options staticlib_osx sharedlib_osx install_osx: SYSTEM = MacOSX @@ -121,18 +116,14 @@ all linux: staticlib # Builds Irrlicht as shared lib (libIrrlicht.so.versionNumber) and copies it into lib/Linux sharedlib: $(LINKOBJ) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) -shared -Wl,-soname,$(SONAME) -o $(SHARED_FULLNAME) $^ $(LDFLAGS) - mkdir -p $(LIB_PATH) - cp $(SHARED_FULLNAME) $(LIB_PATH) + $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) $(CXXFLAGS) -rpath $(PREFIX)/lib -version-info $(VERSION_MAJOR):$(VERSION_MINOR) -o $(SHARED_LIB:.so=.la) $(LINKOBJ:.o=.lo) $(LDFLAGS) # Builds Irrlicht as static lib (libIrrlicht.a) $(STATIC_LIB): $(LINKOBJ) - $(AR) rs $@ $^ + $(LIBTOOL) --mode=link $(CXX) -o $(@:.a=.la) $(LINKOBJ:.o=.lo) # Copies static lib into lib/Linux staticlib staticlib_osx: $(STATIC_LIB) - mkdir -p $(LIB_PATH) - cp $^ $(LIB_PATH) # Builds Irrlicht as dll (Irrlicht.dll) into ../../bin/Win32-gcc all_win32 win32: sharedlib_win32 @@ -150,32 +141,19 @@ sharedlib_osx: $(LINKOBJ) # Installs Irrlicht if it was created as shared lib install install_osx: - $(RM) -r $(INSTALL_DIR)/../include/irrlicht - mkdir -p $(INSTALL_DIR)/../include/irrlicht - cp ../../include/*.h $(INSTALL_DIR)/../include/irrlicht/ - cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) - cd $(INSTALL_DIR) && ln -s -f $(SHARED_FULLNAME) $(SONAME) - cd $(INSTALL_DIR) && ln -s -f $(SONAME) $(SHARED_LIB) -# ldconfig -n $(INSTALL_DIR) + ${BSD_INSTALL_LIB_DIR} $(DESTDIR)${PREFIX}/lib + ${LIBTOOL} --mode=install ${BSD_INSTALL_LIB} ${SHARED_LIB:.so=.la} $(DESTDIR)${PREFIX}/lib + ${BSD_INSTALL_DATA_DIR} $(DESTDIR)${PREFIX}/include/irrlicht + ${BSD_INSTALL_DATA} ../../include/*.h $(DESTDIR)${PREFIX}/include/irrlicht TAGS: ctags *.cpp ../../include/*.h *.h -# Create dependency files for automatic recompilation -%.d:%.cpp - $(CXX) $(CPPFLAGS) -MM -MF $@ $< +%.o:%.cpp + $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $(@:.o=.lo) $< -# Create dependency files for automatic recompilation -%.d:%.c - $(CC) $(CPPFLAGS) -MM -MF $@ $< - -# Create object files from objective-c code -%.o:%.mm - $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< - -ifneq ($(MAKECMDGOALS),clean) --include $(LINKOBJ:.o=.d) -endif +%.o:%.c + $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $(@:.o=.lo) $< help: @echo "Available targets for Irrlicht"