diff --git a/common.mk b/common.mk index 2c0ba56..55fc10d 100644 --- a/common.mk +++ b/common.mk @@ -28,6 +28,17 @@ define BUILD_BINARY_O $< $@ endef +as_obj_binary = _binary_$(subst .,_,$(subst /,_,$(basename $(1)))) + +define BUILD_BINARY_H + @echo $@ + @echo '#pragma once' > $@ + @echo '#include ' >> $@ + @echo 'extern uint32_t $(call as_obj_binary,$@)_start __asm("$(call as_obj_binary,$@)_start");' >> $@ + @echo 'extern uint32_t $(call as_obj_binary,$@)_end __asm("$(call as_obj_binary,$@)_end");' >> $@ + @echo 'extern uint32_t $(call as_obj_binary,$@)_size __asm("$(call as_obj_binary,$@)_size");' >> $@ +endef + %.o: %.s $(AS) $(AARCH) $(AFLAGS) $(DEBUG) $< -o $@