nexus-am/Makefile.app

40 lines
946 B
Erlang

.DEFAULT_GOAL = app
$(info Building $(NAME) [$(ARCH)])
include $(AM_HOME)/Makefile.check
APP_DIR ?= $(shell pwd)
INC_DIR += $(APP_DIR)/include/
DST_DIR ?= $(APP_DIR)/build/$(ARCH)/
BINARY ?= $(APP_DIR)/build/$(NAME)-$(ARCH)
INC_DIR += $(addsuffix /include/, $(addprefix $(AM_HOME)/libs/, $(LIBS)))
$(shell mkdir -p $(DST_DIR))
include $(AM_HOME)/Makefile.compile
ifeq ($(ARCH), native)
LINKLIBS = $(filter-out klib, $(LIBS))
endif
LINK_FILES += $(AM_HOME)/am/build/am-$(ARCH).a $(OBJS)
LINK_FILES += $(addsuffix -$(ARCH).a, $(join \
$(addsuffix /build/, $(addprefix $(AM_HOME)/libs/, $(LINKLIBS))), \
$(LINKLIBS) \
))
#ifneq ($(ARCH), native)
#LINK_FILES += $(AM_HOME)/libs/klib/build/klib-$(ARCH).a
#endif
.PHONY: app run clean
app: $(OBJS)
@cd $(AM_HOME) && make ARCH=$(ARCH)
@$(AM_HOME)/am/arch/$(ARCH)/img/build $(BINARY) $(LINK_FILES)
run: app
@$(AM_HOME)/am/arch/$(ARCH)/img/run $(BINARY)
clean:
rm -rf $(APP_DIR)/build/