69 lines
1.7 KiB
Makefile
69 lines
1.7 KiB
Makefile
|
|
LOCAL_PATH := $(call my-dir)
|
|
FOR_LINUX :=1
|
|
NOT_ARM := 1
|
|
#NO_REC := 1
|
|
#NO_REND := 1
|
|
CPP_REC := 1
|
|
NO_NIXPROF := 1
|
|
RZDCY_SRC_DIR = ../../core
|
|
|
|
include $(RZDCY_SRC_DIR)/core.mk
|
|
|
|
CC_PREFIX ?=
|
|
|
|
CXX=${CC_PREFIX}em++
|
|
CC=${CC_PREFIX}emcc
|
|
#AS=${CC_PREFIX}as
|
|
STRIP=${CC_PREFIX}emstrip
|
|
|
|
LD=${CC}
|
|
|
|
MFLAGS :=
|
|
ASFLAGS :=
|
|
|
|
LDFLAGS := -Wl,-Map,$(notdir $@).map,--gc-sections -Wl,-O3 -Wl,--sort-common
|
|
|
|
|
|
CXXONLYFLAGS := -std=c++11
|
|
CXXFLAGS := -O3 -D GLES -D RELEASE -c -D TARGET_EMSCRIPTEN -D TARGET_NO_REC -D TARGET_NO_NVMEM -D TARGET_NO_WEBUI -D TARGET_NO_THREADS -D TARGET_BOUNDED_EXECUTION -D TARGET_NO_EXCEPTIONS -D TARGET_NO_COREIO_HTTP
|
|
CXXFLAGS += -fno-strict-aliasing
|
|
CXXFLAGS += -ffast-math
|
|
|
|
CXXFLAGS += $(CFLAGS) $(MFLAGS) -fno-exceptions -fno-rtti
|
|
|
|
|
|
INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I../linux-deps/include
|
|
|
|
LIBS := #emscripten has all the basic libs, and egl, and sdl, built in
|
|
|
|
OBJECTS=$(RZDCY_FILES:.cpp=.build.obj)
|
|
OBJECTS:=$(OBJECTS:.c=.build.obj)
|
|
OBJECTS:=$(OBJECTS:.S=.build.obj)
|
|
OBJECTS:=$(patsubst $(RZDCY_SRC_DIR)/%,obj/%,$(OBJECTS))
|
|
|
|
|
|
EXECUTABLE=reicast.html
|
|
|
|
all: $(CPPFILES) $(EXECUTABLE)
|
|
|
|
$(EXECUTABLE): $(OBJECTS)
|
|
echo $(RZDCY_FILES)
|
|
$(CXX) $(MFLAGS) $(EXTRAFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ --preload-file data/dc_boot.bin --preload-file data/dc_flash.bin -s TOTAL_MEMORY=96000000 -s NO_EXIT_RUNTIME=1 -O3
|
|
|
|
obj/%.build.obj : $(RZDCY_SRC_DIR)/%.cpp
|
|
mkdir -p $(dir $@)
|
|
$(CXX) $(EXTRAFLAGS) $(INCS) $(CXXFLAGS) $(CXXONLYFLAGS) $< -o $@
|
|
|
|
obj/%.build.obj : $(RZDCY_SRC_DIR)/%.c
|
|
mkdir -p $(dir $@)
|
|
$(CC) $(EXTRAFLAGS) $(INCS) $(CXXFLAGS) $< -o $@
|
|
|
|
obj/%.build.obj : $(RZDCY_SRC_DIR)/%.S
|
|
mkdir -p $(dir $@)
|
|
$(AS) $(ASFLAGS) $(INCS) $< -o $@
|
|
|
|
|
|
clean:
|
|
rm $(OBJECTS) $(EXECUTABLE) -f
|