123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- ### USE OF THIS MAKEFILE IS NOT RECOMMENDED.
- ### It is no longer maintained. Use CMAKE instead.
- # ---------------------------------------------------------------------------
- # Makefile for Open Asset Import Library (MinGW32-make)
- # [email protected]
- # - just a quick'n'dirty one, could be buggy ...
- #
- # Usage: mingw32-make -f makefile.mingw <target> <macros>
- # TARGETS:
- # all Build a shared so from the whole library
- # clean Cleanup object files, prepare for rebuild
- # static Build a static library (*.a)
- # MACROS: (make clean before you change one)
- # NOBOOST=1 Build against boost workaround
- # SINGLETHREADED=1 Build single-threaded library
- # DEBUG=1 Build debug build of library
- #
- # ---------------------------------------------------------------------------
- # C++ object files
- OBJECTS := $(patsubst %.cpp,%.o, $(wildcard *.cpp))
- OBJECTS += $(patsubst %.cpp,%.o, $(wildcard extra/*.cpp))
- OBJECTS += $(patsubst %.cpp,%.o, $(wildcard ./../contrib/irrXML/*.cpp))
- # C object files
- OBJECTSC := $(patsubst %.c,%.oc, $(wildcard ./../contrib/zlib/*.c))
- OBJECTSC += $(patsubst %.c,%.oc, $(wildcard ./../contrib/ConvertUTF/*.c))
- OBJECTSC += $(patsubst %.c,%.oc, $(wildcard ./../contrib/unzip/*.c))
- # Include flags for gcc
- INCLUDEFLAGS =
- # Preprocessor defines for gcc
- DEFINEFLAGS =
- # Suffix for the output binary, represents build type
- NAMESUFFIX =
- # Output path for binaries
- BINPATH = ../bin/mingw/
- # GCC compiler flags
- CPPFLAGS=-Wall
- # Setup environment for noboost build
- ifeq ($(NOBOOST),1)
- SINGLETHREADED = 1
- INCLUDEFLAGS += -I./BoostWorkaround/
- DEFINEFLAGS += -DASSIMP_BUILD_BOOST_WORKAROUND
- # NAMESUFFIX += -noboost
- else
- # adjust this manually if your boost is stored elsewhere
- INCLUDEFLAGS += -I"C:/Program Files/boost/boost_1_38"
- #INCLUDEFLAGS += -I"$(BOOST_DIR)"
- endif
- # Setup environment for st build
- ifeq ($(SINGLETHREADED),1)
- DEFINEFLAGS += -DASSIMP_BUILD_SINGLETHREADED
- # NAMESUFFIX += -st
- endif
- # Setup environment for debug build
- ifeq ($(DEBUG),1)
- DEFINEFLAGS += -D_DEBUG -DDEBUG
- CPPFLAGS += -g
- # NAMESUFFIX += -debug
- else
- CPPFLAGS += -O2 -s
- DEFINEFLAGS += -DNDEBUG -D_NDEBUG
- endif
- # Output name of shared library
- SHARED_TARGET = $(BINPATH)/libassimp$(NAMESUFFIX).so
- # Output name of static library
- STATIC = $(BINPATH)/libassimp$(NAMESUFFIX).a
- # target: all
- # usage : build a shared library (*.so)
- all: $(SHARED_TARGET)
- $(SHARED_TARGET): $(OBJECTS) $(OBJECTSC)
- gcc -o $@ $(OBJECTS) $(OBJECTSC) -shared -lstdc++
- %.o:%.cpp
- $(CXX) -c $(CPPFLAGS) $? -o $@ $(INCLUDEFLAGS) $(DEFINEFLAGS)
- %.oc:%.c
- $(CXX) -x c -c -ansi $(CPPFLAGS) $? -o $@
- # target: clean
- # usage : cleanup all object files, prepare for a rebuild
- .PHONY: clean
- clean:
- -del *.o .\..\contrib\irrXML\*.o .\..\contrib\zlib\*.oc .\..\contrib\unzip\*.oc .\..\contrib\ConvertUTF\*.oc
- # target: static
- # usage : build a static library (*.a)
- static: $(STATIC)
- $(STATIC): $(OBJECTS) $(OBJECTSC)
- ar rcs $@ $(OBJECTS) $(OBJECTSC)
|