Movie downloading
[lsnes.git] / src / Makefile
blob7a5f09716b137068cefc6f80ab5abc6a093d082d
1 __all_files__: util/__all_files__ \
2 lsnes$(DOT_EXECUTABLE_SUFFIX) \
3 $(patsubst %.cpp,%.util$(DOT_EXECUTABLE_SUFFIX),$(wildcard util/*.cpp))
5 ifndef NO_RDYNAMIC
6 LDFLAGS += -rdynamic
7 endif
8 ifdef NO_DLFCN
9 CFLAGS += -DNO_DLFCN
10 else
11 LDFLAGS += -ldl
12 endif
14 ifdef BOOST_FILESYSTEM3
15 CFLAGS += -DBOOST_FILESYSTEM3
16 endif
18 ifdef OPUS_CODEC
19 CFLAGS += -DWITH_OPUS_CODEC $(shell $(CROSS_PREFIX)pkg-config --cflags opus)
20 LDFLAGS += $(shell $(CROSS_PREFIX)pkg-config --libs opus)
21 ifdef OPUS_CODEC_SUPPORTS_SURROUND
22 CFLAGS += -DOPUS_SUPPORTS_SURROUND
23 endif
24 endif
26 COMMON_LIBRARY=core lua fonts library interface video emulation
27 ALLFILES=__all__.files
28 ALLFLAGS=__all__.ldflags
29 COMMON_LIBRARY_FILES=$(patsubst %,%/$(ALLFILES),$(COMMON_LIBRARY))
30 COMMON_LIBRARY_FLAGS=$(patsubst %,%/$(ALLFLAGS),$(COMMON_LIBRARY))
31 PLATFORM_LIBRARY_FILES=platform/$(ALLFILES)
32 PLATFORM_LIBRARY_FLAGS=platform/$(ALLFLAGS)
34 __all_common__.files: $(COMMON_LIBRARY_FILES)
35 lua genfilelist.lua $^ >$@
37 __all_platform__.files: $(PLATFORM_LIBRARY_FILES)
38 lua genfilelist.lua $^ >$@
40 core/$(ALLFILES): forcelook
41 $(MAKE) -C core
43 emulation/$(ALLFILES): forcelook
44 $(MAKE) -C emulation
46 fonts/$(ALLFILES): forcelook
47 $(MAKE) -C fonts
49 library/$(ALLFILES): forcelook
50 $(MAKE) -C library
52 interface/$(ALLFILES): forcelook
53 $(MAKE) -C interface
55 lua/$(ALLFILES): forcelook
56 $(MAKE) -C lua
58 platform/$(ALLFILES): forcelook
59 $(MAKE) -C platform
61 util/__all_files__: forcelook
62 $(MAKE) -C util
64 util/%.$(OBJECT_SUFFIX): util/__all_files__
65 @true;
67 video/$(ALLFILES): forcelook
68 $(MAKE) -C video
70 .PRECIOUS: %.$(OBJECT_SUFFIX) util/%.$(OBJECT_SUFFIX) %.files
72 %.util$(DOT_EXECUTABLE_SUFFIX): %.$(OBJECT_SUFFIX) __all_common__.files
73 $(REALCC) -o $@ $< `cat __all_common__.files` $(LDFLAGS) `cat $(COMMON_LIBRARY_FLAGS)`
75 lsnes$(DOT_EXECUTABLE_SUFFIX): __all_common__.files __all_platform__.files
76 $(REALCC) -o $@ `cat __all_common__.files __all_platform__.files` $(LDFLAGS) `cat $(COMMON_LIBRARY_FLAGS) $(PLATFORM_LIBRARY_FLAGS)`
78 precheck:
79 $(MAKE) -C core precheck
80 $(MAKE) -C emulation precheck
81 $(MAKE) -C interface precheck
82 $(MAKE) -C library precheck
83 $(MAKE) -C lua precheck
84 $(MAKE) -C platform precheck
85 $(MAKE) -C util precheck
86 $(MAKE) -C video precheck
88 clean:
89 rm -f *.$(OBJECT_SUFFIX) *.ldflags
90 $(MAKE) -C core clean
91 $(MAKE) -C emulation clean
92 $(MAKE) -C fonts clean
93 $(MAKE) -C interface clean
94 $(MAKE) -C library clean
95 $(MAKE) -C lua clean
96 $(MAKE) -C platform clean
97 $(MAKE) -C util clean
98 $(MAKE) -C video clean
100 forcelook:
101 @true