| 1 | ################################################################ |
|---|
| 2 | # |
|---|
| 3 | # Broadcom Corp. Confidential |
|---|
| 4 | # Copyright 2011 Broadcom Corp. All Rights Reserved. |
|---|
| 5 | # |
|---|
| 6 | # THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED |
|---|
| 7 | # SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM. |
|---|
| 8 | # YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT |
|---|
| 9 | # SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. |
|---|
| 10 | # |
|---|
| 11 | # $brcm_Workfile: $ |
|---|
| 12 | # $brcm_Revision: $ |
|---|
| 13 | # $brcm_Date: $ |
|---|
| 14 | # |
|---|
| 15 | # Module Description: unit test makefile |
|---|
| 16 | # |
|---|
| 17 | # Revision History: |
|---|
| 18 | # |
|---|
| 19 | ################################################################/ |
|---|
| 20 | |
|---|
| 21 | |
|---|
| 22 | TOPDIR := $(shell cd ../../../ ; /bin/pwd) |
|---|
| 23 | DTA_DIR = $(TOPDIR)/dta |
|---|
| 24 | BUILD_DIR = $(DTA_DIR)/build |
|---|
| 25 | |
|---|
| 26 | DEBUG ?= y |
|---|
| 27 | |
|---|
| 28 | BUILD_UCOS ?= y |
|---|
| 29 | |
|---|
| 30 | include $(BUILD_DIR)/platform.inc |
|---|
| 31 | |
|---|
| 32 | BCHP_REV_PATH := $(shell echo $(BCHP_REV) | tr '[:upper:]' '[:lower:]') |
|---|
| 33 | |
|---|
| 34 | SOURCE_DIR = $(DTA_DIR)/src |
|---|
| 35 | MAGNUM_DIR = $(TOPDIR)/magnum |
|---|
| 36 | BSEAV_DIR = $(TOPDIR)/BSEAV |
|---|
| 37 | BCMBIN_DIR = $(TOPDIR)/dta/bin |
|---|
| 38 | Z_DIR = $(SOURCE_DIR)/z |
|---|
| 39 | LIB_DIR = $(DTA_DIR)/lib |
|---|
| 40 | |
|---|
| 41 | OS = ucos_ii |
|---|
| 42 | MAGNUM = $(MAGNUM_DIR) |
|---|
| 43 | BCHP_VER = $(BCHP_REV_PATH) |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | CFLAGS += -DUCOS_II |
|---|
| 47 | CFLAGS += -DBCHP_CHIP=$(BCHP_CHIP) -DBCHP_VER=BCHP_VER_$(BCHP_REV) |
|---|
| 48 | CFLAGS += -DBVDC_UINT32_ONLY=1 |
|---|
| 49 | |
|---|
| 50 | TARGET = basic |
|---|
| 51 | |
|---|
| 52 | LDFLAGS += -T ./ld_basic.script |
|---|
| 53 | |
|---|
| 54 | all: makefile $(TARGET).bin |
|---|
| 55 | |
|---|
| 56 | B_SRC = ./main_basic.c \ |
|---|
| 57 | |
|---|
| 58 | CFLAGS += -DMINISTD_RAM=1 |
|---|
| 59 | B_ASM_SRC += $(SOURCE_DIR)/crt.S $(SOURCE_DIR)/memcpy.S $(SOURCE_DIR)/setjmp.S |
|---|
| 60 | #B_SRC += $(SOURCE_DIR)/ministd.c $(SOURCE_DIR)/bcmmemmgr.c |
|---|
| 61 | #B_SRC += $(SOURCE_DIR)/cache_util.c |
|---|
| 62 | |
|---|
| 63 | B_ASM_SRC += auth_test.S |
|---|
| 64 | |
|---|
| 65 | BCM_VPATH += $(DTA_DIR)/src |
|---|
| 66 | BCM_VPATH += $(DTA_DIR)/src/$(OS) |
|---|
| 67 | |
|---|
| 68 | CFLAGS += -I$(TOPDIR)/rockford/bsp/bcm97552/no-os/src/sde |
|---|
| 69 | |
|---|
| 70 | #B_SRC += $(SOURCE_DIR)/libc.c |
|---|
| 71 | |
|---|
| 72 | # Soft floating point |
|---|
| 73 | SOFT_FP_LIB = $(LIB_DIR)/soft-fp.a |
|---|
| 74 | |
|---|
| 75 | #defines for PI |
|---|
| 76 | CFLAGS += -DBSTD_CPU_ENDIAN=BSTD_ENDIAN_LITTLE |
|---|
| 77 | |
|---|
| 78 | include $(BUILD_DIR)/ucos.mk |
|---|
| 79 | include $(BUILD_DIR)/magnum.mk |
|---|
| 80 | |
|---|
| 81 | BCM_INCLUDE = $(patsubst %,-I%,$(subst :, ,$(BCM_VPATH))) |
|---|
| 82 | CFLAGS += $(BCM_INCLUDE) -I./ -DMEMCOPY -DBKNI_TRACK_MALLOCS=0 |
|---|
| 83 | |
|---|
| 84 | BCM_OBJS = $(B_SRC:.c=.o) |
|---|
| 85 | BCM_ASM_OBJS += $(B_ASM_SRC:.S=.o) |
|---|
| 86 | |
|---|
| 87 | # BCM_LIB_OBJS = $(LIB_DIR)/libucos_ii.a $(LIB_DIR)/libmagnum.a \ |
|---|
| 88 | # $(LIB_DIR)/libfcc.a $(SOFT_FP_LIB) |
|---|
| 89 | |
|---|
| 90 | BL_DIR = $(SOURCE_DIR)/bootloader7574/r3 |
|---|
| 91 | BCM_LIB_OBJS = $(BL_DIR)/Region3.o $(BL_DIR)/Region3_privkey2048_ew.o |
|---|
| 92 | |
|---|
| 93 | BCM_DEPENDS := $(BCM_OBJS:.o=.d) $(BCM_ASM_OBJS:.o=.d) |
|---|
| 94 | |
|---|
| 95 | $(TARGET).elf: $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_LIB_OBJS) $(BCM_LIB_GP_OBJS) |
|---|
| 96 | $(LD) -Map $(TARGET).map $(LDFLAGS) $(BCM_ASM_OBJS) $(BCM_OBJS) $(LDFLAGS_GP) $(BCM_LIB_OBJS) -o $@ |
|---|
| 97 | |
|---|
| 98 | $(TARGET).bin: $(TARGET).elf |
|---|
| 99 | $(CROSS_COMPILE)objcopy --verbose -S -O binary $(TARGET).elf $(TARGET).bin |
|---|
| 100 | |
|---|
| 101 | %.o: %.c |
|---|
| 102 | $(CC) -MMD $(CFLAGS) -c $< -o $@ |
|---|
| 103 | |
|---|
| 104 | %.o: %.S |
|---|
| 105 | $(CC) -MMD $(ASFLAGS) -c $< -o $@ |
|---|
| 106 | |
|---|
| 107 | clean: clean_target |
|---|
| 108 | |
|---|
| 109 | |
|---|
| 110 | clean_target: |
|---|
| 111 | $(RM) -f *.gz *.o_* *.sym *.map *~ core *.elf *.bin *.dis *.lst $(BCM_OBJS) $(BCM_ASM_OBJS) $(BCM_DEPENDS) svp_id.c |
|---|
| 112 | |
|---|
| 113 | JAR_BINARY = $(SOURCE_DIR)/jar/jar.bin |
|---|
| 114 | |
|---|
| 115 | jar : $(JAR_BINARY) $(TARGET).gz $(TARGET)_jar.bin |
|---|
| 116 | |
|---|
| 117 | $(TARGET).gz : $(TARGET).bin |
|---|
| 118 | # compress image and pad it to 0x80 byte boundary |
|---|
| 119 | gzip -cn -9 $< | dd bs=128 conv=sync > $@ |
|---|
| 120 | $(TARGET)_jar.bin : $(TARGET).gz |
|---|
| 121 | cat $(JAR_BINARY) $< > $@ |
|---|
| 122 | $(JAR_BINARY) : |
|---|
| 123 | make -C $(SOURCE_DIR)/jar clean all |
|---|
| 124 | |
|---|
| 125 | flash_$(TARGET).bin : bootloader-128k.bin $(SOURCE_DIR)/bootloader/fake.sig $(SOURCE_DIR)/dsploader/scm.sbin $(TARGET).gz |
|---|
| 126 | python $(SOURCE_DIR)/bootloader/makeheaders.py 1 $(TARGET).gz |
|---|
| 127 | cat bootloader-128k.bin bootheader.bin appheader.bin $(TARGET).gz $(SOURCE_DIR)/bootloader/fake.sig $(SOURCE_DIR)/dsploader/scm.sbin > $@ |
|---|
| 128 | |
|---|
| 129 | flash_$(TARGET).gz : flash_$(TARGET).bin |
|---|
| 130 | gzip -cn -9 $< > $@ |
|---|
| 131 | |
|---|
| 132 | flash_$(TARGET)_jflu.bin : $(SOURCE_DIR)/jflu/jflu.bin flash_$(TARGET).gz |
|---|
| 133 | cat $^ > $@ |
|---|
| 134 | |
|---|
| 135 | $(TARGET)_sig.bin : $(TARGET).gz |
|---|
| 136 | python $(SOURCE_DIR)/bootloader/makeheaders.py 1 $(TARGET).gz |
|---|
| 137 | cat appheader.bin $(TARGET).gz > $@ |
|---|
| 138 | cat $@ | $(DTA_DIR)/tools/sswap32 > $(TARGET)_sig.sw.bin |
|---|
| 139 | |
|---|
| 140 | bootloader-128k.bin : $(SOURCE_DIR)/bootloader/bootloader123.bin |
|---|
| 141 | dd if=$< of=$@ bs=64k count=2 conv=sync |
|---|
| 142 | |
|---|
| 143 | -include $(BCM_DEPENDS) |
|---|