+ifneq ($(CEF_DIR),)
+CEF_RESOURCES=libcef.so icudtl.dat natives_blob.bin snapshot_blob.bin v8_context_snapshot.bin
+CEF_RESOURCES += cef.pak cef_100_percent.pak cef_200_percent.pak cef_extensions.pak devtools_resources.pak
+CEF_RESOURCES += libEGL.so libGLESv2.so swiftshader/libEGL.so swiftshader/libGLESv2.so
+CEF_RESOURCES += locales/en-US.pak locales/en-US.pak.info
+endif
+
+all: nageru kaeru benchmark_audio_mixer $(CEF_RESOURCES)
+
+nageru: $(OBJS) $(CEF_LIBS)
+ $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(CEF_LIBS)
+kaeru: $(KAERU_OBJS)
+ $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS)
+benchmark_audio_mixer: $(BM_OBJS)
+ $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS)
+
+ifneq ($(CEF_DIR),)
+# A lot of these unfortunately have to be in the same directory as the binary;
+# some can be given paths, but not all.
+libcef.so: $(CEF_DIR)/$(CEF_BUILD_TYPE)/libcef.so
+ cp -a $< $@
+libEGL.so: $(CEF_DIR)/$(CEF_BUILD_TYPE)/libEGL.so
+ cp -a $< $@
+libGLESv2.so: $(CEF_DIR)/$(CEF_BUILD_TYPE)/libGLESv2.so
+ cp -a $< $@
+swiftshader/:
+ mkdir swiftshader/
+swiftshader/libEGL.so: | swiftshader/ $(CEF_DIR)/$(CEF_BUILD_TYPE)/swiftshader/libEGL.so
+ cp -a $(CEF_DIR)/$(CEF_BUILD_TYPE)/swiftshader/libEGL.so $@
+swiftshader/libGLESv2.so: | swiftshader/ $(CEF_DIR)/$(CEF_BUILD_TYPE)/swiftshader/libGLESv2.so
+ cp -a $(CEF_DIR)/$(CEF_BUILD_TYPE)/swiftshader/libGLESv2.so $@
+locales/:
+ mkdir locales/
+locales/en-US.pak: | locales/ $(CEF_DIR)/Resources/locales/en-US.pak
+ cp -a $(CEF_DIR)/Resources/locales/en-US.pak $@
+locales/en-US.pak.info: | locales/ $(CEF_DIR)/Resources/locales/en-US.pak.info
+ cp -a $(CEF_DIR)/Resources/locales/en-US.pak.info $@
+icudtl.dat: $(CEF_DIR)/Resources/icudtl.dat
+ cp -a $< $@
+%.bin: $(CEF_DIR)/$(CEF_BUILD_TYPE)/%.bin
+ cp -a $< $@
+%.pak: $(CEF_DIR)/Resources/%.pak
+ cp -a $< $@
+endif