blob: 806d2685e3be789fb586ac2dc2a76ab1b22529dd [file] [log] [blame]
#****************************************************************************
#* ivpm.mk
#*
#* Makefile template for a Chisel project
#****************************************************************************
BUILD_NAME = WB_SYS_IP
BUILD_DEPS = $($(BUILD_NAME)_JAR)
SCRIPTS_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
ROOT_DIR := $(abspath $(SCRIPTS_DIR)/..)
PACKAGES_DIR ?= $(ROOT_DIR)/packages
LIB_DIR = $(ROOT_DIR)/lib
ifneq (true,$(VERBOSE))
Q=@
endif
# Must support dual modes:
# - build dependencies if this project is the active one
# - rely on the upper-level makefile to resolve dependencies if we're not
-include $(PACKAGES_DIR)/packages.mk
include $(ROOT_DIR)/etc/ivpm.info
PROJECT := $(name)
# Include makefiles with dependencies
MK_INCLUDES += $(wildcard $(ROOT_DIR)/mkfiles/*.mk)
include $(MK_INCLUDES)
RULES := 1
ifeq (true,$(PHASE2))
build :
else
build : $($(PROJECT)_deps)
$(Q)$(MAKE) -f $(SCRIPTS_DIR)/ivpm.mk PHASE2=true VERBOSE=$(VERBOSE) build
endif
release : build
$(Q)rm -rf $(ROOT_DIR)/build
$(Q)mkdir -p $(ROOT_DIR)/build/$(PROJECT)
$(Q)cp -r \
$(ROOT_DIR)/lib \
$(ROOT_DIR)/etc \
$(ROOT_DIR)/build/$(PROJECT)
$(Q)cd $(ROOT_DIR)/build ; \
tar czf $(PROJECT)-$(version).tar.gz $(PROJECT)
$(Q)rm -rf $(ROOT_DIR)/build/$(PROJECT)
include $(MK_INCLUDES)
-include $(PACKAGES_DIR)/packages.mk