lsnes rr1-Δ18ε1
[lsnes.git] / src / Makefile
blobd4d0e28e1da1b829fee26dd3ab3bda1c438df5e7
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
20 LDFLAGS += -lopus
21 endif
23 DUMMY_LIBRARY=core lua fonts library video dummy
24 PLATFORM_LIBRARY=core lua fonts library video platform
25 ALLOBJECT=__all__.$(OBJECT_SUFFIX)
26 ALLFLAGS=__all__.ldflags
27 DUMMY_LIBRARY_OBJS=$(patsubst %,%/$(ALLOBJECT),$(DUMMY_LIBRARY))
28 PLATFORM_LIBRARY_OBJS=$(patsubst %,%/$(ALLOBJECT),$(PLATFORM_LIBRARY))
29 DUMMY_LIBRARY_FLAGS=$(patsubst %,%/$(ALLFLAGS),$(DUMMY_LIBRARY))
30 PLATFORM_LIBRARY_FLAGS=$(patsubst %,%/$(ALLFLAGS),$(PLATFORM_LIBRARY))
33 core/$(ALLOBJECT): forcelook
34 $(MAKE) -C core
36 dummy/$(ALLOBJECT): forcelook
37 $(MAKE) -C dummy
39 fonts/$(ALLOBJECT): forcelook
40 $(MAKE) -C fonts
42 library/$(ALLOBJECT): forcelook
43 $(MAKE) -C library
45 lua/$(ALLOBJECT): forcelook
46 $(MAKE) -C lua
48 platform/$(ALLOBJECT): forcelook
49 $(MAKE) -C platform
51 util/__all_files__: forcelook
52 $(MAKE) -C util
54 util/%.$(OBJECT_SUFFIX): util/__all_files__
55 @true;
57 video/$(ALLOBJECT): forcelook
58 $(MAKE) -C video
60 .PRECIOUS: %.$(OBJECT_SUFFIX) util/%.$(OBJECT_SUFFIX)
62 %.util$(DOT_EXECUTABLE_SUFFIX): %.$(OBJECT_SUFFIX) $(DUMMY_LIBRARY_OBJS)
63 $(REALCC) -o $@ $^ $(LDFLAGS) ../$(CORE_OBJECT) `cat $(DUMMY_LIBRARY_FLAGS)`
65 lsnes$(DOT_EXECUTABLE_SUFFIX): $(PLATFORM_LIBRARY_OBJS)
66 $(REALCC) -o $@ $^ $(LDFLAGS) ../$(CORE_OBJECT) `cat $(PLATFORM_LIBRARY_FLAGS)`
68 precheck:
69 $(MAKE) -C core precheck
70 $(MAKE) -C dummy precheck
71 $(MAKE) -C library precheck
72 $(MAKE) -C lua precheck
73 $(MAKE) -C dummy precheck
74 $(MAKE) -C library precheck
75 $(MAKE) -C platform precheck
76 $(MAKE) -C util precheck
77 $(MAKE) -C video precheck
79 clean:
80 rm -f *.$(OBJECT_SUFFIX) *.ldflags
81 $(MAKE) -C core clean
82 $(MAKE) -C dummy clean
83 $(MAKE) -C fonts clean
84 $(MAKE) -C library clean
85 $(MAKE) -C lua clean
86 $(MAKE) -C dummy clean
87 $(MAKE) -C library clean
88 $(MAKE) -C platform clean
89 $(MAKE) -C util clean
90 $(MAKE) -C video clean
92 forcelook:
93 @true