Some makefile fixes
[lsnes.git] / Makefile
blobfc11a6c665a996573c48ba250446fccc75ebded7
1 CROSS_PREFIX=
2 DOT_EXECUTABLE_SUFFIX=
3 OBJECT_SUFFIX = o
4 ARCHIVE_SUFFIX = a
5 FONT_SRC := unifontfull-5.1.20080820.hex
7 USER_CFLAGS=
8 USER_LDFLAGS=
10 #Compilers.
11 CC := g++
12 LD := ld
13 REALCC = $(CROSS_PREFIX)$(CC)
14 REALLD = $(CROSS_PREFIX)$(LD)
15 HOSTCC = $(CC)
17 #Flags.
18 HOSTCCFLAGS = -std=gnu++0x
19 CFLAGS = -I$(BSNES_PATH) -std=gnu++0x $(USER_CFLAGS)
20 LDFLAGS = -lboost_iostreams -lboost_filesystem -lboost_system -lboost_regex -lz $(USER_LDFLAGS)
22 #Platform
23 GRAPHICS=SDL
24 SOUND=SDL
25 JOYSTICK=SDL
26 THREADS=BOOST
28 #Threads
29 ifdef THREADS
30 ifeq ($(THREADS), NATIVE)
31 CFLAGS += -DNATIVE_THREADS
32 else
33 ifeq ($(THREADS), BOOST)
34 CFLAGS += -DBOOST_THREADS
35 ifdef BOOST_THREAD_LIB
36 LDFLAGS += -l$(BOOST_THREAD_LIB)
37 else
38 LDFLAGS += -lboost_thread-mt
39 endif
40 else
41 $(error "Bad value for THREADS (expected NATIVE or BOOST)")
42 endif
43 endif
44 endif
46 ifdef BSNES_IS_COMPAT
47 CFLAGS += -DBSNES_IS_COMPAT
48 endif
50 export DOT_EXECUTABLE_SUFFIX OBJECT_SUFFIX ARCHIVE_SUFFIX FONT_SRC REALCC HOSTCC REALLD HOSTCCFLAGS CFLAGS LDFLAGS GRAPHICS SOUND JOYSTICK THREADS
52 all: src/__all_files__
54 src/__all_files__: src/core/version.cpp forcelook
55 $(MAKE) -C src precheck
56 $(MAKE) -C src
57 cp src/lsnes$(DOT_EXECUTABLE_SUFFIX) .
59 buildaux/version.exe: buildaux/version.cpp VERSION
60 $(HOSTCC) $(HOSTCCFLAGS) -o $@ $<
61 src/core/version.cpp: buildaux/version.exe forcelook
62 buildaux/version.exe >$@
65 clean:
66 $(MAKE) -C src clean
68 forcelook:
69 @true