Merge branch 'rr1-maint' into rr1-gambatte
[lsnes.git] / Makefile
blob144b257ad8a819352b0e8c4147e27925b02c966a
1 OPTIONS=options.build
2 include $(OPTIONS)
5 #Compilers.
6 REALCC = $(CROSS_PREFIX)$(CC)
7 REALLD = $(CROSS_PREFIX)$(LD)
8 REALRANLIB = $(CROSS_PREFIX)$(RANLIB)
10 GAMBATTE_PATH=$(shell pwd)/gambatte
12 #Flags.
13 HOSTCCFLAGS = -std=gnu++0x
14 CFLAGS = -I$(GAMBATTE_PATH) -std=gnu++0x $(USER_CFLAGS)
15 ifdef BOOST_NEEDS_MT
16 BOOST_LIB_POSTFIX=-mt
17 else
18 BOOST_LIB_POSTFIX=
19 endif
21 LDFLAGS = -lboost_iostreams$(BOOST_LIB_POSTFIX) -lboost_filesystem$(BOOST_LIB_POSTFIX) -lboost_system$(BOOST_LIB_POSTFIX) -lboost_regex$(BOOST_LIB_POSTFIX) -lz $(USER_LDFLAGS)
23 ifeq ($(THREADS), NATIVE)
24 CFLAGS += -DNATIVE_THREADS
25 else
26 ifeq ($(THREADS), BOOST)
27 CFLAGS += -DBOOST_THREADS
28 LDFLAGS += -lboost_thread$(BOOST_LIB_POSTFIX)
29 else
30 $(error "Bad value for THREADS (expected NATIVE or BOOST)")
31 endif
32 endif
34 export
36 all: src/__all_files__
38 gambatte_compiler=$(subst ++,cc,$(REALCC))
40 gambatte/libgambatte/libgambatte.$(ARCHIVE_SUFFIX): forcelook
41 $(MAKE) -C gambatte compiler=$(gambatte_compiler)
42 $(REALRANLIB) $@
44 src/__all_files__: src/core/version.cpp forcelook gambatte/libgambatte/libgambatte.$(ARCHIVE_SUFFIX)
45 $(MAKE) -C src precheck
46 $(MAKE) -C src
47 cp src/lsnes$(DOT_EXECUTABLE_SUFFIX) .
49 buildaux/version.exe: buildaux/version.cpp VERSION
50 $(HOSTCC) $(HOSTCCFLAGS) -o $@ $<
51 src/core/version.cpp: buildaux/version.exe forcelook
52 buildaux/version.exe >$@
55 clean:
56 $(MAKE) -C gambatte clean
57 $(MAKE) -C src clean
59 forcelook:
60 @true