Commit graph

114 commits

Author SHA1 Message Date
n pepinpe
e1cd4fd937 Fix path to OSX SDK with XCode >=4.3 2012-12-31 10:43:00 +01:00
veganaize
1f66504005 Don't try to find OpenGL libraries on MacOSX and MinGW using pkg-config
MacOSX and MinGW don't provide gl.pc or glu.pc to find the cflags or libs using
pkg-config. Removing this search and replacing it with an hardcoded value is
easier on these platforms.
2012-12-19 21:57:46 +01:00
Sven Eckelmann
a8b5adec72 Use $(OBJDIR) in clean target instead of hardcoded path 2012-12-13 14:53:05 +01:00
Sven Eckelmann
c06750ed20 Allow to add a postfix for each build
The POSTFIX make option is useful for distributions to compile different
versions of the plugin in parallel. The object files will be stored in a
directory with the postfix appended and the linker result will also have this
postfix appended.
2012-12-13 14:47:25 +01:00
Sven Eckelmann
8cb19be53e Don't add lipng libs twice on MinGW 2012-12-13 12:30:44 +01:00
Sven Eckelmann
9973c9aa91 Add CROSS_COMPILE make option
The CROSS_COMPILE make option can be used to automatically prepend the prefix
to all build relevant tools to seamlessly allow cross compilation without
setting each tool name separately.

Cross compiling for MinGW32 would can be done using
$ make -C projects/unix/ CROSS_COMPILE=i686-pc-mingw32- HOST_CPU=i686 UNAME=MINGW
2012-12-13 12:25:44 +01:00
Sven Eckelmann
419d442013 Allow to change names of *-config tools for cross compiles 2012-12-13 11:33:50 +01:00
Sven Eckelmann
069856f10e Synchronize usage of environmental variables for UNAME with HOST_CPU 2012-12-13 10:52:49 +01:00
Sven Eckelmann
56e17c0400 Remove duplicated definition of CC for MinGW 2012-12-13 10:46:17 +01:00
veganaize
acafa1180f Add support for MingW32 2012-12-04 21:17:52 +01:00
Sven Eckelmann
402ba8350f Fix build on x86 with SSE inline assembler 2012-12-03 10:39:26 +01:00
Anthony J. Bentley
98dc5cf7b8 Detect OpenBSD PowerPC platforms macppc and socppc. 2012-11-12 18:04:28 -07:00
Sven Eckelmann
604872c5ba Add configuration for semi-supported architecture armel 2012-11-04 01:28:01 +01:00
Sven Eckelmann
25e2b1003c Enable experimental support for link-time optimization 2012-06-09 01:31:27 +02:00
Richard Goedeken
378dfa38ce force PIC under OSX. otherwise it crashes with weird errors 2012-03-11 14:19:35 -07:00
Sven Eckelmann
2b009af558 Remove additional -O3 on MacOSX 2011-10-14 19:58:42 +02:00
Sven Eckelmann
4fd1072c13 Explicitly disable PIC in case of PIC=0 2011-10-13 00:01:04 +02:00
Sven Eckelmann
44523a6580 Enable ppc(64) as experimental target
nogagplz tested mupen64plus on 32-bit ppc and didn't detect any big show
stoppers with interpreter cores and the mupen64plus example rom. This makes the
PowerPC an interesting target for further tests and may reveal other endianness
problems.
2011-08-05 10:46:18 +02:00
Sven Eckelmann
118864a14a Enable PIC depending on architecture instead of bits only
nogagplz noticed on ppc32 that PIC is necessary to compile everything as shared
object. Therefore, it seems to be a better idea to have architecture specific
PIC default settings instead of checking only whether it is a 32 or 64 bit
architecture.
2011-08-05 10:32:08 +02:00
Sven Eckelmann
fe7b30cf5c Enable big endian mode on ppc and ppc64 2011-08-05 10:19:22 +02:00
Sven Eckelmann
cdbf3ba71d Strip binaries during install 2011-07-23 21:22:53 +02:00
Sven Eckelmann
b42ff04b15 Allow to force PIC to remove text relocations 2011-07-10 13:37:55 +02:00
Sven Eckelmann
81fae8df01 Fix linker search for libstdc++.so 2011-07-08 08:24:38 +00:00
Sven Eckelmann
13b7ac0506 Inform user about the possibility to make the build verbose 2011-07-03 18:04:48 +02:00
Sven Eckelmann
6a798b46b8 Set changeable default compiler optimization option 2011-07-03 18:03:15 +02:00
Sven Eckelmann
95636b27be Synchronize build rules with standard gnu make rules 2011-06-27 13:00:05 +02:00
Sven Eckelmann
e6701133b2 Test for essential build dependencies before getting their cflags/libs 2011-06-27 11:36:11 +02:00
Sven Eckelmann
3277b4a7bd Add OpenBSD as half-supported OS with FreeBSD userspace tools 2011-06-26 18:37:19 +02:00
Sven Eckelmann
a82015b515 Remove -v parameter of install which is not available everywhere 2011-06-26 18:29:26 +02:00
Sven Eckelmann
92aaa7078f Split LIBDIR in LIBDIR and PLUGINDIR for consistency between modules 2011-06-26 02:05:07 +02:00
Sven Eckelmann
17dfb439a4 Fix compilation with BITS=32 when using gcc-4.6 2011-06-25 21:29:58 +02:00
Sven Eckelmann
66c5c1629d Remove unneccessary define PIC 2011-06-25 15:09:33 +02:00
Sven Eckelmann
c89a263b8a Don't override optimisations set by linux build environment 2011-06-25 14:39:08 +02:00
Sven Eckelmann
b1afe8c681 Use pkg-config as more portable way to find gl and libpng 2011-06-25 11:30:31 +02:00
Sven Eckelmann
29a9ddfa3b Add GNU/Hurd as operating system with "linux" userland
---
2010-07-13 21:37:54 +02:00
Richard Goedeken
eea0acb993 FreeBSD makefile patches from David Demelier 2010-05-16 12:52:55 -04:00
Sven Eckelmann
63b08dc58f Only use ld option -version-script on systems with GNU userland tools 2010-03-20 16:55:42 +01:00
Sven Eckelmann
77253e10dc Build kfreebsd and GNU/kFreeBSD like Linux 2010-03-19 12:16:38 +01:00
Sven Eckelmann
ec3df7a6f0 Export only functions which are part of the api
The g++ also exports symbols of implicit instantiations of templates. These
aren't part of the api and must not be accessed by any other part of
mupen64plus. We can use version-scripts to surpress these symbols without using
explicit instantiations of all templates we use.
2010-03-18 13:21:05 +01:00
Sven Eckelmann
d73c70b18c Make hidden symbols the default behavior of gcc 2010-03-18 12:23:41 +01:00
Sven Eckelmann
9dba7b8da7 Don't export inlined functions in C++ files 2010-03-18 11:12:15 +01:00
Sven Eckelmann
71e280b03f Reduced console output when running make without V=1 2010-03-18 10:59:29 +01:00
Sven Eckelmann
7420557160 Use separate CXXFLAGS environment variable when calling CXX 2010-03-18 10:10:59 +01:00
Sven Eckelmann
cc09c3179b Add automatically dependency tracking for C/C++ files
Every time a header is changed, the user had to cleanup the whole project and
then rebuild it. It is quite easy to fix and should help a lot when working on
the project. The dependency files will be created at the first run (when
dependency tracking isn't useful anyway) and should create nearly no overhead.
2010-03-04 22:58:12 +01:00
Richard Goedeken
c0936158c1 makefile updates: use CFLAGS+= instead of CFLAGS=, rmdir _obj 2010-02-20 11:10:40 -05:00
Richard Goedeken
2d52690003 bugfix #257: added to makefile OS type GNU/kFreeBSD 2010-01-20 21:58:00 -05:00
richard42
d1dd90e8fe refactor opengl code to use VidExt_GL_GetProc() for all opengl functions newer than v1.1, so that this will work in Windows 2009-12-27 21:50:13 -05:00
richard42
449a326b11 add new osal_files_unix.c to the makefile 2009-12-27 17:35:52 -05:00
Richard Goedeken
88cfd1c245 use C++ compiler to link instead of LD, because the compiler knows where the standard C++ libs are 2009-12-20 22:41:07 -05:00
Richard Goedeken
3018771089 Makefile improvements: throw error if OS/CPU not supported, use DESTDIR in install/uninstall paths, per Lazhur request. Allow user-specified CC/CXX/LD paths, per Auria request 2009-12-19 20:42:14 -05:00