Steven Zedeck said the following: > For example, I'm having problems understanding what this means in a > Makefile: > > COBJS-$(CONFIG_HAS_DATAFLASH) += at45.o > COBJS-$(CONFIG_FLASH_CFI_DRIVER) += cfi_flash.o > COBJS-$(CONFIG_HAS_DATAFLASH) += dataflash.o > COBJS-$(CONFIG_FLASH_CFI_LEGACY) += jedec_flash.o > COBJS-$(CONFIG_MW_EEPROM) += mw_eeprom.o > > COBJS := $(COBJS-y) > SRCS := $(COBJS:.o=.c) > OBJS := $(addprefix $(obj),$(COBJS)) > > This is from drivers/mtd/Makefile. > > How does COBJS get initially defined upon entry into the Makefile? > > Does at45.o get added to the list of objects to be built only if the > CONFIG_HAS_DATAFLASH flag is set? > > What does the "-" sign mean before the "$" ? > On start of compile, the file autoconf.mk is generated along your board configuration #defines in board/<board>/<board-name>.h It looks like this: CONFIG_PPC=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_BOARD_EARLY_INIT_R=y CONFIG_SYS_CLK_FREQ=100000000 CONFIG_CMD_ITEST=y ...
autoconf.mk is then used as a predefinition file for the rules of your Makefile. So COBJS-$(CONFIG_HAS_DATAFLASH) += at45.o evaluates to either COBJS-y += at45.o or COBJS- += at45.o or COBJS-n += at45.o > What does this mean? COBJS := $(COBJS-y) This is the assignment of the dynamically built string to the variable that is then used for the gcc command. HTH -- Michael _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot