2012-05-11 19:36:13 +03:00
|
|
|
OPTIONS=options.build
|
|
|
|
include $(OPTIONS)
|
2011-11-06 14:41:41 +02:00
|
|
|
|
2012-02-06 04:38:53 +02:00
|
|
|
|
2011-11-06 14:41:41 +02:00
|
|
|
#Compilers.
|
2011-11-03 22:01:19 +02:00
|
|
|
REALCC = $(CROSS_PREFIX)$(CC)
|
2012-02-06 04:38:53 +02:00
|
|
|
REALLD = $(CROSS_PREFIX)$(LD)
|
2012-05-12 13:32:45 +03:00
|
|
|
REALRANLIB = $(CROSS_PREFIX)$(RANLIB)
|
2011-09-21 00:10:34 +03:00
|
|
|
|
2012-09-05 19:56:56 +03:00
|
|
|
ifeq ($(CORE_TYPE), BSNES)
|
|
|
|
CORE_PATH=$(shell pwd)/bsnes
|
|
|
|
CORE_SUBDIR=bsnes
|
|
|
|
CORE_OBJECT=bsnes/out/libsnes.$(ARCHIVE_SUFFIX)
|
|
|
|
CORE_DEFINE=-DCORETYPE_BSNES=1
|
|
|
|
ifdef BSNES_IS_COMPAT
|
|
|
|
CFLAGS += -DBSNES_IS_COMPAT
|
|
|
|
BSNES_PROFILE_STRING=profile=compatibility
|
|
|
|
else
|
|
|
|
BSNES_PROFILE_STRING=profile=accuracy
|
|
|
|
endif
|
2012-09-29 19:29:26 +03:00
|
|
|
ifeq ($(BSNES_VERSION), 084)
|
|
|
|
BSNES_PROFILE_STRING+=options=debugger
|
2012-09-29 19:32:54 +03:00
|
|
|
CFLAGS += -DBSNES_HAS_DEBUGGER
|
2012-09-29 19:29:26 +03:00
|
|
|
else
|
|
|
|
ifeq ($(BSNES_VERSION), 085)
|
|
|
|
BSNES_PROFILE_STRING+=options=debugger
|
2012-09-29 19:32:54 +03:00
|
|
|
CFLAGS += -DBSNES_HAS_DEBUGGER
|
2012-09-29 19:29:26 +03:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2012-09-05 19:56:56 +03:00
|
|
|
ifeq ($(BSNES_VERSION), 087)
|
|
|
|
BSNES_TARGET_STRING=target=libsnes
|
|
|
|
else
|
|
|
|
BSNES_TARGET_STRING=ui=ui-libsnes
|
|
|
|
endif
|
|
|
|
CFLAGS += -DBSNES_V${BSNES_VERSION}
|
|
|
|
else
|
|
|
|
ifeq ($(CORE_TYPE), GAMBATTE)
|
|
|
|
CORE_PATH=$(shell pwd)/gambatte
|
|
|
|
CORE_SUBDIR=gambatte
|
|
|
|
CORE_OBJECT=gambatte/libgambatte/libgambatte.$(ARCHIVE_SUFFIX)
|
|
|
|
CORE_DEFINE=-DCORETYPE_GAMBATTE=1
|
|
|
|
BSNES_PROFILE_STRING=
|
|
|
|
BSNES_TARGET_STRING=
|
|
|
|
else
|
|
|
|
$(error "Bad value for CORETYPE (expected BSNES or GAMBATTE)")
|
|
|
|
endif
|
|
|
|
endif
|
2012-05-12 13:16:27 +03:00
|
|
|
|
2011-11-06 14:41:41 +02:00
|
|
|
#Flags.
|
|
|
|
HOSTCCFLAGS = -std=gnu++0x
|
2012-09-05 19:56:56 +03:00
|
|
|
CFLAGS += -I$(CORE_PATH) $(CORE_DEFINE) -std=gnu++0x $(USER_CFLAGS)
|
2012-05-11 19:36:13 +03:00
|
|
|
ifdef BOOST_NEEDS_MT
|
|
|
|
BOOST_LIB_POSTFIX=-mt
|
2012-05-12 13:48:13 +03:00
|
|
|
else
|
|
|
|
BOOST_LIB_POSTFIX=
|
2012-03-07 17:12:42 +02:00
|
|
|
endif
|
|
|
|
|
2012-05-11 19:36:13 +03:00
|
|
|
LDFLAGS = -lboost_iostreams$(BOOST_LIB_POSTFIX) -lboost_filesystem$(BOOST_LIB_POSTFIX) -lboost_system$(BOOST_LIB_POSTFIX) -lboost_regex$(BOOST_LIB_POSTFIX) -lz $(USER_LDFLAGS)
|
|
|
|
|
2012-02-12 20:23:36 +02:00
|
|
|
ifeq ($(THREADS), NATIVE)
|
|
|
|
CFLAGS += -DNATIVE_THREADS
|
|
|
|
else
|
|
|
|
ifeq ($(THREADS), BOOST)
|
|
|
|
CFLAGS += -DBOOST_THREADS
|
2012-05-11 19:36:13 +03:00
|
|
|
LDFLAGS += -lboost_thread$(BOOST_LIB_POSTFIX)
|
2012-02-12 20:23:36 +02:00
|
|
|
else
|
|
|
|
$(error "Bad value for THREADS (expected NATIVE or BOOST)")
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2011-11-06 14:41:41 +02:00
|
|
|
|
2012-05-11 19:36:13 +03:00
|
|
|
export
|
2011-09-13 17:50:18 +03:00
|
|
|
|
2012-02-06 04:38:53 +02:00
|
|
|
all: src/__all_files__
|
2011-10-28 22:25:07 +03:00
|
|
|
|
2012-05-12 13:16:27 +03:00
|
|
|
|
|
|
|
|
2012-09-05 19:56:56 +03:00
|
|
|
compiler=$(subst ++,cc,$(REALCC))
|
|
|
|
gambatte_compiler=$(REALCC)
|
2012-05-12 13:16:27 +03:00
|
|
|
|
2012-09-05 19:56:56 +03:00
|
|
|
$(CORE_OBJECT): forcelook
|
|
|
|
$(MAKE) -C $(CORE_SUBDIR) $(BSNES_PROFILE_STRING) $(BSNES_TARGET_STRING)
|
2012-05-12 13:32:45 +03:00
|
|
|
$(REALRANLIB) $@
|
2012-05-12 13:16:27 +03:00
|
|
|
|
2012-09-05 19:56:56 +03:00
|
|
|
src/__all_files__: src/core/version.cpp forcelook $(CORE_OBJECT)
|
2012-02-06 04:38:53 +02:00
|
|
|
$(MAKE) -C src precheck
|
|
|
|
$(MAKE) -C src
|
|
|
|
cp src/lsnes$(DOT_EXECUTABLE_SUFFIX) .
|
2012-01-10 13:14:11 +02:00
|
|
|
|
2012-02-12 13:13:33 +02:00
|
|
|
buildaux/version.exe: buildaux/version.cpp VERSION
|
|
|
|
$(HOSTCC) $(HOSTCCFLAGS) -o $@ $<
|
|
|
|
src/core/version.cpp: buildaux/version.exe forcelook
|
|
|
|
buildaux/version.exe >$@
|
|
|
|
|
|
|
|
|
2011-09-13 17:50:18 +03:00
|
|
|
clean:
|
2012-09-05 19:56:56 +03:00
|
|
|
-$(MAKE) -C bsnes clean
|
|
|
|
-$(MAKE) -C gambatte clean
|
2012-02-06 04:38:53 +02:00
|
|
|
$(MAKE) -C src clean
|
|
|
|
|
|
|
|
forcelook:
|
|
|
|
@true
|