blob: 1d48832d7c21a0c231ed72f3cffa733bd1cba753 [file] [log] [blame]
#############################################################################
## NOTICE ##
## ##
## COPYRIGHT MARVELL INTERNATIONAL LTD. AND ITS AFFILIATES ##
## ALL RIGHTS RESERVED ##
## ##
## The source code for this computer program is CONFIDENTIAL and a ##
## TRADE SECRET of MARVELL INTERNATIONAL LTD. AND ITS AFFILIATES ##
## ('MARVELL'). The receipt or possession of this program does not ##
## convey any rights to reproduce or disclose its contents, or to ##
## manufacture, use, or sell anything that it may describe, in ##
## whole or in part, without the specific written consent of MARVELL. ##
## Any reproduction or distribution of this program without the ##
## express written consent of MARVELL is a violation of the copyright ##
## laws and may subject you to criminal prosecution. ##
## ##
#############################################################################
#############################################################################
##
## GNU makefile for chip/bg2cdp_a0/diag Makefile
##
#############################################################################
## declare pseudotargets so there's no misunderstandings
.PHONY: all clean init
##
#
# names and directories
#
CHIP_NAME = bg2cdp_a0
CHIP_DIR = $(shell readlink -f .)
#CHIP_DIR=board/bg2cdp_a0
BOARD_DIR = $(CHIP_DIR)/dongle
PROJ_DIR ?= $(CHIP_DIR)
AVPLL = dongle/AVPLL
DHUB = dongle/DHUB
OUT_DIR ?= out_$(CHIP_NAME)
TMP_DIR ?= .tmp_$(CHIP_NAME)
#OBJ_DIR = $(TMP_DIR)/$(CHIP_NAME)
OBJ_DIR = $(TMP_DIR)
TARGET = $(OUT_DIR)/lib$(CHIP_NAME).a
#
# selections/options
#
USE_BCM_CMD_ARRAY=1
SUPPORT_SHOWLOGO = 1
#
# source files and flags
#
#Source = fastlogo.c cdp_pin_init.c gicDiag.c irqHandler.S list_speed.c
Source = cdp_pin_init.c gicDiag.c irqHandler.S list_speed.c
CFLAGS += -I$(CHIP_DIR)/../../include/Firmware_Berlin_BG2CDP_A0
CFLAGS += -I$(PROJ_DIR)
CFLAGS += -I$(CHIP_DIR)
CFLAGS += -I$(BOARD_DIR)
CFLAGS += -I$(AVPLL)/include
CFLAGS += -I$(DHUB)/include
ifeq ($(USE_BCM_CMD_ARRAY),0)
THINVPP = dongle/THINVPP
CFLAGS += -I$(THINVPP)/include
CFLAGS += -I$(THINVPP)/source/include
CFLAGS += -I$(THINVPP)/source/MISC/include
CFLAGS += -I$(THINVPP)/source/FE/include
CFLAGS += -I$(THINVPP)/source/SCL/include
CFLAGS += -I$(THINVPP)/source/CPCB/include
CFLAGS += -I$(THINVPP)/source/BE/include
Source += $(wildcard $(THINVPP)/source/*.c)
Source += $(wildcard $(THINVPP)/source/MISC/source/*.c)
Source += $(wildcard $(THINVPP)/source/FE/source/*.c)
Source += $(wildcard $(THINVPP)/source/SCL/source/*.c)
Source += $(wildcard $(THINVPP)/source/CPCB/source/*.c)
Source += $(wildcard $(THINVPP)/source/BE/source/*.c)
else
FASTLOGO = dongle/FASTLOGO
CFLAGS += -I$(FASTLOGO)
Source += $(wildcard $(FASTLOGO)/*.c)
endif
Source += $(wildcard $(AVPLL)/source/*.c)
Source += $(wildcard $(DHUB)/source/*.c)
CFLAGS += -DBOOTLOADER_FASTLOGO=1 -DLOGO_ENABLE_MAIN=1
CFLAGS += -DBOOTLOADER_SHOWLOGO=1
CFLAGS += -DUSE_BCM_CMD_ARRAY=$(USE_BCM_CMD_ARRAY)
#CFLAGS += -DPRINT_VPP_RW=1
#
# objects
#
#Object := $(patsubst %.S,%.o,$(Source))
#Object := $(patsubst %.c,%.o,$(Object))
#Object := $(subst $(CMN_DIR)/,,$(Object))
Object := $(Source)
Object := $(patsubst %.c,$(OBJ_DIR)/%.o,$(Object))
Object := $(patsubst %.S,$(OBJ_DIR)/%.o,$(Object))
#
# Include the make variables (CC, etc...)
#
#GCCINCDIR = $(shell $(CC) -print-file-name=include)
#PLATFORM_LIBS = -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
#
# Common rule
#
$(OBJ_DIR)/%.o: %.S
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
$(OBJ_DIR)/%.o: %.c
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
#
# targets
#
all: init $(TARGET)
#################################
##### BOOT_TYPE=$(BOOT_TYPE)
##### TARGET: $(TARGET)
#################################
init:
#########################
##### CHIP_DIR: $(CHIP_DIR)
##### Source: $(Source)
##### Object: $(Object)
#########################
mkdir -p $(OBJ_DIR)
mkdir -p $(OUT_DIR)
ifeq ($(USE_BCM_CMD_ARRAY),0)
mkdir -p $(TMP_DIR)/$(THINVPP)/source
mkdir -p $(TMP_DIR)/$(THINVPP)/source/FE/source
mkdir -p $(TMP_DIR)/$(THINVPP)/source/SCL/source
mkdir -p $(TMP_DIR)/$(THINVPP)/source/CPCB/source
mkdir -p $(TMP_DIR)/$(THINVPP)/source/BE/source
mkdir -p $(TMP_DIR)/$(THINVPP)/source/MISC/source
else
mkdir -p $(TMP_DIR)/$(FASTLOGO)
endif
mkdir -p $(TMP_DIR)/$(AVPLL)/source
mkdir -p $(TMP_DIR)/$(DHUB)/source
.PHONY: clean
clean:
@rm -rf .tmp_*
@rm -rf out_*
$(TARGET): $(Object)
$(AR) rcs $@ $(Object)