mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
Merge branch 'omega-hotfix' into omega-dev
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
.PHONY: scenario_logger
|
||||
scenario_logger:
|
||||
$(Q) make -j8 PLATFORM=simulator clean && make -j8 DEBUG=1 ARCH=x86_64 PLATFORM=simulator epsilon.headless.bin
|
||||
$(Q) $(MAKE) PLATFORM=simulator clean && $(MAKE) DEBUG=1 ARCH=x86_64 PLATFORM=simulator epsilon.headless.bin
|
||||
$(Q) cp output/debug/simulator/macos/x86_64/epsilon.headless.bin epsilon_scenario_logger.bin
|
||||
@echo "Run ./epsilon_scenario_logger.bin --logAfter 0 < scenario.esc to log a scenario"
|
||||
|
||||
.PHONY: scenario_creator
|
||||
scenario_creator:
|
||||
$(Q) make -j8 PLATFORM=simulator clean && make -j8 DEBUG=1 ESCHER_LOG_EVENTS_BINARY=1 PLATFORM=simulator
|
||||
$(Q) $(MAKE) PLATFORM=simulator clean && $(MAKE) DEBUG=1 ESCHER_LOG_EVENTS_BINARY=1 PLATFORM=simulator
|
||||
$(Q) cp -R output/debug/simulator/macos/app/Payload/Epsilon.app epsilon_scenario_creator.app
|
||||
@echo "Run lldb epsilon_scenario_creator.app then process launch -o scenario.esc to create a scenario"
|
||||
|
||||
60
build/targets.all.mak
Normal file
60
build/targets.all.mak
Normal file
@@ -0,0 +1,60 @@
|
||||
ANDROID_GRADLE_KEYSTORE ?= ~/.gradle/google-play-upload.keystore
|
||||
ANDROID_GRADLE_PROPERTIES ?= ~/.gradle/gradle.properties
|
||||
IOS_MOBILE_PROVISION ?= build/artifacts/NumWorks_Graphing_Calculator_Distribution.mobileprovision
|
||||
EMCC ?= emcc
|
||||
|
||||
define source_emsdk
|
||||
source ~/emsdk/emsdk_env.sh > /dev/null
|
||||
endef
|
||||
|
||||
define file_check
|
||||
@ if test ! -f $(1); \
|
||||
then \
|
||||
echo "Missing file: $(1)"; \
|
||||
exit 1; \
|
||||
fi
|
||||
endef
|
||||
|
||||
define command_check
|
||||
@ if ! command -v $(1) > /dev/null; \
|
||||
then \
|
||||
echo "Missing command: $(1), did you forget to source?"; \
|
||||
exit 1; \
|
||||
fi
|
||||
endef
|
||||
|
||||
.PHONY: all_official
|
||||
all_official:
|
||||
$(call file_check,$(ANDROID_GRADLE_KEYSTORE))
|
||||
$(call file_check,$(ANDROID_GRADLE_PROPERTIES))
|
||||
$(call file_check,$(IOS_MOBILE_PROVISION))
|
||||
$(call command_check,$(EMCC))
|
||||
$(Q) rm -rf output/stable_release
|
||||
$(Q) mkdir -p output/stable_release
|
||||
$(Q) echo "BUILD_FIRMWARE DEVICE N0110"
|
||||
$(Q) $(MAKE) clean
|
||||
$(Q) $(MAKE) epsilon.official.onboarding.dfu
|
||||
$(Q) cp output/release/device/n0110/epsilon.official.onboarding.dfu output/stable_release/epsilon.device.n0110.dfu
|
||||
$(Q) echo "BUILD_FIRMWARE DEVICE N0100"
|
||||
$(Q) $(MAKE) MODEL=n0100 clean
|
||||
$(Q) $(MAKE) MODEL=n0100 epsilon.official.onboarding.dfu
|
||||
$(Q) cp output/release/device/n0100/epsilon.official.onboarding.dfu output/stable_release/epsilon.device.n0100.dfu
|
||||
$(Q) echo "BUILD_FIRMWARE SIMULATOR WEB ZIP"
|
||||
$(Q) $(MAKE) DEBUG=0 PLATFORM=simulator TARGET=web clean
|
||||
$(Q) $(call source_emsdk); $(MAKE) DEBUG=0 PLATFORM=simulator TARGET=web output/release/simulator/web/simulator.official.zip
|
||||
$(Q) cp output/release/simulator/web/simulator.official.zip output/stable_release/simulator.web.zip
|
||||
$(Q) echo "BUILD_FIRMWARE SIMULATOR WEB JS"
|
||||
$(Q) $(call source_emsdk); $(MAKE) DEBUG=0 PLATFORM=simulator TARGET=web epsilon.official.js
|
||||
$(Q) cp output/release/simulator/web/epsilon.official.js output/stable_release/epsilon.js
|
||||
$(Q) echo "BUILD_FIRMWARE SIMULATOR WEB PYTHON JS"
|
||||
$(Q) $(MAKE) DEBUG=0 PLATFORM=simulator TARGET=web clean
|
||||
$(Q) $(call source_emsdk); $(MAKE) DEBUG=0 PLATFORM=simulator TARGET=web EPSILON_GETOPT=1 EPSILON_APPS=code epsilon.official.js
|
||||
$(Q) cp output/release/simulator/web/epsilon.official.js output/stable_release/epsilon.python.js
|
||||
$(Q) echo "BUILD_FIRMWARE SIMULATOR ANDROID"
|
||||
$(Q) $(MAKE) PLATFORM=simulator TARGET=android clean
|
||||
$(Q) $(MAKE) PLATFORM=simulator TARGET=android epsilon.official.apk
|
||||
$(Q) cp output/release/simulator/android/app/outputs/apk/release/android-release-unsigned.apk output/stable_release/epsilon.apk
|
||||
$(Q) echo "BUILD_FIRMWARE SIMULATOR IOS"
|
||||
$(Q) $(MAKE) PLATFORM=simulator TARGET=ios clean
|
||||
$(Q) $(MAKE) PLATFORM=simulator TARGET=ios IOS_PROVISIONNING_PROFILE="~/Downloads/NumWorks_Graphing_Calculator_Distribution.mobileprovision" output/release/simulator/ios/app/epsilon.official.ipa
|
||||
$(Q) cp output/release/simulator/ios/app/epsilon.official.ipa output/stable_release/epsilon.ipa
|
||||
@@ -26,24 +26,22 @@ $(BUILD_DIR)/test.external_flash.write.$(EXE): $(BUILD_DIR)/quiz/src/test_ion_ex
|
||||
$(Q) $(OBJCOPY) -O binary -j .text.external -j .rodata.external -j .exam_mode_buffer $(BUILD_DIR)/$< $(BUILD_DIR)/$(basename $<).external.bin
|
||||
$(Q) $(OBJCOPY) -O binary -R .text.external -R .rodata.external -R .exam_mode_buffer $(BUILD_DIR)/$< $(BUILD_DIR)/$(basename $<).internal.bin
|
||||
@echo "Padding $(basename $<).external.bin and $(basename $<).internal.bin"
|
||||
$(Q) printf "\xFF\xFF\xFF\xFF" >> $(basename $<).external.bin
|
||||
$(Q) printf "\xFF\xFF\xFF\xFF" >> $(basename $<).internal.bin
|
||||
$(Q) printf "\xFF\xFF\xFF\xFF" >> $(BUILD_DIR)/$(basename $<).external.bin
|
||||
$(Q) printf "\xFF\xFF\xFF\xFF" >> $(BUILD_DIR)/$(basename $<).internal.bin
|
||||
|
||||
.PHONY: binpack
|
||||
binpack:
|
||||
rm -rf build/binpack
|
||||
mkdir -p build/binpack
|
||||
${MAKE} clean
|
||||
${MAKE} $(BUILD_DIR)/flasher.light.bin
|
||||
cp $(BUILD_DIR)/flasher.light.bin build/binpack
|
||||
${MAKE} clean
|
||||
${MAKE} $(BUILD_DIR)/bench.flash.bin
|
||||
${MAKE} $(BUILD_DIR)/bench.ram.bin
|
||||
cp $(BUILD_DIR)/bench.ram.bin $(BUILD_DIR)/bench.flash.bin build/binpack
|
||||
${MAKE} clean
|
||||
${MAKE} epsilon.onboarding.update.two_binaries
|
||||
cp $(BUILD_DIR)/epsilon.onboarding.update.internal.bin $(BUILD_DIR)/epsilon.onboarding.update.external.bin build/binpack
|
||||
${MAKE} clean
|
||||
cd build && for binary in flasher.light.bin bench.flash.bin bench.ram.bin epsilon.onboarding.internal.bin epsilon.onboarding.external.bin; do shasum -a 256 -b binpack/$${binary} > binpack/$${binary}.sha256;done
|
||||
cd build && tar cvfz binpack-`git rev-parse HEAD | head -c 7`.tgz binpack
|
||||
rm -rf build/binpack
|
||||
rm -rf output/binpack
|
||||
mkdir -p output/binpack
|
||||
$(MAKE) clean
|
||||
$(MAKE) $(BUILD_DIR)/flasher.light.bin
|
||||
cp $(BUILD_DIR)/flasher.light.bin output/binpack
|
||||
$(MAKE) $(BUILD_DIR)/bench.flash.bin
|
||||
$(MAKE) $(BUILD_DIR)/bench.ram.bin
|
||||
cp $(BUILD_DIR)/bench.ram.bin $(BUILD_DIR)/bench.flash.bin output/binpack
|
||||
$(MAKE) epsilon.official.onboarding.update.two_binaries
|
||||
cp $(BUILD_DIR)/epsilon.official.onboarding.update.internal.bin $(BUILD_DIR)/epsilon.official.onboarding.update.external.bin output/binpack
|
||||
$(MAKE) clean
|
||||
cd output && for binary in flasher.light.bin bench.flash.bin bench.ram.bin epsilon.official.onboarding.update.internal.bin epsilon.official.onboarding.update.external.bin; do shasum -a 256 -b binpack/$${binary} > binpack/$${binary}.sha256;done
|
||||
cd output && tar cvfz binpack-`git rev-parse HEAD | head -c 7`.tgz binpack
|
||||
rm -rf output/binpack
|
||||
|
||||
@@ -3,21 +3,15 @@ base_src = $(liba_src) $(kandinsky_src) $(escher_src) $(libaxx_src) $(poincare_s
|
||||
|
||||
epsilon_src = $(base_src) $(ion_default_src) $(apps_default_src)
|
||||
epsilon_official_src = $(base_src) $(ion_default_src) $(apps_official_default_src)
|
||||
epsilon_onboarding_src = $(base_src) $(ion_default_src) $(apps_onboarding_src)
|
||||
epsilon_official_onboarding_src = $(base_src) $(ion_default_src) $(apps_official_onboarding_src)
|
||||
epsilon_onboarding_update_src = $(base_src) $(ion_default_src) $(apps_onboarding_update_src)
|
||||
epsilon_official_onboarding_update_src = $(base_src) $(ion_default_src) $(apps_official_onboarding_update_src)
|
||||
epsilon_onboarding_beta_src = $(base_src) $(ion_default_src) $(apps_onboarding_beta_src)
|
||||
epsilon_official_onboarding_beta_src = $(base_src) $(ion_default_src) $(apps_official_onboarding_beta_src)
|
||||
|
||||
$(BUILD_DIR)/epsilon.$(EXE): $(call object_for,$(epsilon_src))
|
||||
$(BUILD_DIR)/epsilon.official.$(EXE): $(call object_for,$(epsilon_official_src))
|
||||
$(BUILD_DIR)/epsilon.onboarding.$(EXE): $(call object_for,$(epsilon_onboarding_src))
|
||||
$(BUILD_DIR)/epsilon.official.onboarding.$(EXE): $(call object_for,$(epsilon_official_onboarding_src))
|
||||
$(BUILD_DIR)/epsilon.onboarding.update.$(EXE): $(call object_for,$(epsilon_onboarding_update_src))
|
||||
$(BUILD_DIR)/epsilon.official.onboarding.update.$(EXE): $(call object_for,$(epsilon_official_onboarding_update_src))
|
||||
$(BUILD_DIR)/epsilon.onboarding.beta.$(EXE): $(call object_for,$(epsilon_onboarding_beta_src))
|
||||
$(BUILD_DIR)/epsilon.official.onboarding.beta.$(EXE): $(call object_for,$(epsilon_official_onboarding_beta_src))
|
||||
$(BUILD_DIR)/epsilon.onboarding.$(EXE): $(call object_for, $(base_src) $(ion_default_src) $(apps_onboarding_src))
|
||||
$(BUILD_DIR)/epsilon.official.onboarding.$(EXE): $(call object_for,$(base_src) $(ion_default_src) $(apps_official_onboarding_src))
|
||||
$(BUILD_DIR)/epsilon.onboarding.update.$(EXE): $(call object_for, $(base_src) $(ion_default_src) $(apps_onboarding_update_src))
|
||||
$(BUILD_DIR)/epsilon.official.onboarding.update.$(EXE): $(call object_for,$(base_src) $(ion_default_src) $(apps_official_onboarding_update_src))
|
||||
$(BUILD_DIR)/epsilon.onboarding.beta.$(EXE): $(call object_for, $(base_src) $(ion_default_src) $(apps_onboarding_beta_src))
|
||||
$(BUILD_DIR)/epsilon.official.onboarding.beta.$(EXE): $(call object_for,$(base_src) $(ion_default_src) $(apps_official_onboarding_beta_src))
|
||||
|
||||
test_base_src = $(base_src) $(apps_tests_src) $(runner_src) $(tests_src)
|
||||
|
||||
@@ -41,3 +35,5 @@ endef
|
||||
-include build/targets.$(PLATFORM).mak
|
||||
|
||||
$(foreach extension,$(HANDY_TARGETS_EXTENSIONS),$(foreach executable,$(HANDY_TARGETS),$(eval $(call handy_target_rule,$(executable),$(extension)))))
|
||||
|
||||
include build/targets.all.mak
|
||||
|
||||
@@ -1,17 +1,6 @@
|
||||
$(BUILD_DIR)/epsilon.js: EMSCRIPTEN_INIT_FILE = 1
|
||||
$(BUILD_DIR)/epsilon%packed.js: EMSCRIPTEN_INIT_FILE = 0
|
||||
|
||||
$(BUILD_DIR)/test.headless.js: EMSCRIPTEN_MODULARIZE = 0
|
||||
|
||||
$(BUILD_DIR)/epsilon.packed.js: $(call object_for,$(epsilon_src))
|
||||
|
||||
.PHONY: workshop_python_emulator
|
||||
workshop_python_emulator:
|
||||
$(MAKE) PLATFORM=simulator TARGET=web clean_for_apps_selection
|
||||
$(MAKE) PLATFORM=simulator TARGET=web EPSILON_APPS=code
|
||||
$(MAKE) PLATFORM=simulator TARGET=web clean_for_apps_selection
|
||||
|
||||
.PHONY: clean_for_apps_selection
|
||||
clean_for_apps_selection:
|
||||
@echo "CLEAN BEFORE CHANGING EPSILON_APPS"
|
||||
$(Q) rm -f $(BUILD_DIR)/apps/apps_container_storage.o
|
||||
$(Q) rm -f $(BUILD_DIR)/apps/i18n.*
|
||||
$(BUILD_DIR)/epsilon.official.packed.js: $(call object_for,$(epsilon_official_src))
|
||||
|
||||
@@ -132,7 +132,7 @@ EMFLAGS += -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0
|
||||
# Configure LDFLAGS
|
||||
EMSCRIPTEN_MODULARIZE ?= 1
|
||||
LDFLAGS += -s MODULARIZE=$(EMSCRIPTEN_MODULARIZE) -s 'EXPORT_NAME="Epsilon"'
|
||||
EMSCRIPTEN_INIT_FILE ?= 0
|
||||
EMSCRIPTEN_INIT_FILE ?= 1
|
||||
LDFLAGS += --memory-init-file $(EMSCRIPTEN_INIT_FILE)
|
||||
|
||||
SFLAGS += $(EMFLAGS)
|
||||
|
||||
Reference in New Issue
Block a user