repo2/firmware_eclairexl/Makefile @ 966
| 46 | markw | BASE	= zpu-elf
  | 
      |
CC      = $(BASE)-gcc
  | 
      |||
LD      = $(BASE)-gcc
  | 
      |||
AS      = $(BASE)-as
  | 
      |||
CP      = $(BASE)-objcopy
  | 
      |||
DUMP    = $(BASE)-objdump
  | 
      |||
| 309 | markw | SOCKIT_CC = arm-linux-gnueabihf-gcc
  | 
      |
SOCKIT_LD = arm-linux-gnueabihf-gcc
  | 
      |||
| 966 | markw | SOCKIT_CFLAGS = -g -DLITTLE_ENDIAN -DSOCKIT -O0
  | 
      |
| 309 | markw | SOCKIT_CFLAGS+= -W -Wall
  | 
      |
SOCKIT_LDFLAGS = -g
  | 
      |||
| 183 | markw | HOST_CC	= gcc
  | 
      |
HOST_LD	= gcc
  | 
      |||
HOST_CFLAGS	= -g -DLINUX_BUILD -DLITTLE_ENDIAN -fno-builtin
  | 
      |||
HOST_CFLAGS	+= -W -Wall
  | 
      |||
HOST_LDFLAGS	= -g
  | 
      |||
#HOST_CFLAGS	+= -m32
  | 
      |||
#HOST_LDFLAGS	+= -m32
  | 
      |||
HOST_CFLAGS	+= $(shell pkg-config --cflags ncurses)
  | 
      |||
HOST_LDFLAGS	+= $(shell pkg-config --libs ncurses)
  | 
      |||
| 46 | markw | # we use mincrt0.s from here
  | 
      |
STARTUP_DIR = .
  | 
      |||
# we fetch ROM prologue / epilogue from here
  | 
      |||
RTL_DIR = $(ZPUFLEXDIR)/RTL/
  | 
      |||
BUILD_DIR=zpu_obj
  | 
      |||
| 180 | markw | AEON_LITE_DIR = aeon_lite
  | 
      |
| 336 | markw | PAPILIODUO_DIR = papilioduo
  | 
      |
| 180 | markw | DE1_DIR = de1
  | 
      |
| 189 | markw | DE1_5200_DIR = de1_5200
  | 
      |
| 180 | markw | CHAMELEON_DIR = chameleon
  | 
      |
| 412 | markw | ECLAIREXL_DIR = eclairexl
  | 
      |
| 180 | markw | MCC_DIR = mcc
  | 
      |
| 287 | markw | MCC_5200_DIR = mcc_5200
  | 
      |
| 275 | markw | MCCTV_DIR = mcctv
  | 
      |
| 287 | markw | MCCTV_5200_DIR = mcctv_5200
  | 
      |
| 180 | markw | MIST_DIR = mist
  | 
      |
| 189 | markw | MIST_5200_DIR = mist_5200
  | 
      |
| 183 | markw | LINUXSIM_DIR = linux
  | 
      |
| 189 | markw | LINUXSIM_5200_DIR = linux_5200
  | 
      |
| 309 | markw | SOCKIT_DIR = sockit
  | 
      |
| 180 | markw | ||
AEON_LITE_BUILD_DIR = $(BUILD_DIR)/$(AEON_LITE_DIR)
  | 
      |||
| 336 | markw | PAPILIODUO_BUILD_DIR = $(BUILD_DIR)/$(PAPILIODUO_DIR)
  | 
      |
| 180 | markw | DE1_BUILD_DIR = $(BUILD_DIR)/$(DE1_DIR)
  | 
      |
| 309 | markw | SOCKIT_BUILD_DIR = $(BUILD_DIR)/$(SOCKIT_DIR)
  | 
      |
| 189 | markw | DE1_5200_BUILD_DIR = $(BUILD_DIR)/$(DE1_5200_DIR)
  | 
      |
| 180 | markw | CHAMELEON_BUILD_DIR = $(BUILD_DIR)/$(CHAMELEON_DIR)
  | 
      |
| 412 | markw | ECLAIREXL_BUILD_DIR = $(BUILD_DIR)/$(ECLAIREXL_DIR)
  | 
      |
| 180 | markw | MCC_BUILD_DIR = $(BUILD_DIR)/$(MCC_DIR)
  | 
      |
| 287 | markw | MCC_5200_BUILD_DIR = $(BUILD_DIR)/$(MCC_5200_DIR)
  | 
      |
| 275 | markw | MCCTV_BUILD_DIR = $(BUILD_DIR)/$(MCCTV_DIR)
  | 
      |
| 287 | markw | MCCTV_5200_BUILD_DIR = $(BUILD_DIR)/$(MCCTV_5200_DIR)
  | 
      |
| 180 | markw | MIST_BUILD_DIR = $(BUILD_DIR)/$(MIST_DIR)
  | 
      |
| 189 | markw | MIST_5200_BUILD_DIR = $(BUILD_DIR)/$(MIST_5200_DIR)
  | 
      |
| 183 | markw | LINUXSIM_BUILD_DIR = $(BUILD_DIR)/$(LINUXSIM_DIR)
  | 
      |
| 189 | markw | LINUXSIM_5200_BUILD_DIR = $(BUILD_DIR)/$(LINUXSIM_5200_DIR)
  | 
      |
| 180 | markw | ||
| 46 | markw | #MINSTARTUP_SRC = mincrt0.s
  | 
      |
MINSTARTUP_SRC = mycrt0.s
  | 
      |||
MINSTARTUP_OBJ = $(patsubst $(STARTUP_DIR)/%.s,$(BUILD_DIR)/%.o,$(MINSTARTUP_SRC))
  | 
      |||
| 883 | markw | CORE_SRC = cartridge.c fileutils.c fileselector.c uart/uart.c hexdump.c common/utils.c printf/printf.c
  | 
      |
| 309 | markw | FAT_SRC = fat/pff_file.c fat/pff.c
  | 
      |
COMMON_SRC = ${FAT_SRC} ${CORE_SRC}
  | 
      |||
| 180 | markw | SDCARD_SRC = sd_direct/diskio_mmc.c sd_direct/spi.c sd_direct/mmc2.c
  | 
      |
| 895 | markw | A800_SRC_LIGHT = menu.c a800/freeze.c  a800/mainmenu.c atari_drive_emulator.c atx.c atx_eclaire.c libgcc_divmod.c
  | 
      |
| 309 | markw | A800_SRC = ${A800_SRC_LIGHT} a800/joystick.c
  | 
      |
| 189 | markw | 5200_SRC_LIGHT = 5200/freeze.c  5200/mainmenu.c
  | 
      |
| 206 | markw | 5200_SRC = ${5200_SRC_LIGHT} 5200/joystick.c
  | 
      |
| 395 | markw | USB_SRC = usb/hid.c  usb/hidparser.c  usb/hub.c usb/timer.c  usb/usb.c usb/debug.c
  | 
      |
| 180 | markw | ||
| 116 | markw | AEON_LITE_PRJ = AEON_LITE
  | 
      |
| 189 | markw | AEON_LITE_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) de1/dirs.c
  | 
      |
| 180 | markw | AEON_LITE_OBJ = $(patsubst %.c,$(AEON_LITE_BUILD_DIR)/%.o,$(AEON_LITE_SRC))
  | 
      |
| 116 | markw | ||
| 336 | markw | PAPILIODUO_PRJ = PAPILIODUO
  | 
      |
PAPILIODUO_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) de1/dirs.c
  | 
      |||
PAPILIODUO_OBJ = $(patsubst %.c,$(PAPILIODUO_BUILD_DIR)/%.o,$(PAPILIODUO_SRC))
  | 
      |||
| 78 | markw | DE1_PRJ = DE1
  | 
      |
| 915 | markw | DE1_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) de1/dirs.c spiflash/spiflash.c de1/spibase.c de1/rom_location.c
  | 
      |
| 180 | markw | DE1_OBJ = $(patsubst %.c,$(DE1_BUILD_DIR)/%.o,$(DE1_SRC))
  | 
      |
| 78 | markw | ||
| 189 | markw | DE1_5200_PRJ = DE1_5200
  | 
      |
| 238 | markw | DE1_5200_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(5200_SRC) de1_5200/dirs.c
  | 
      |
| 189 | markw | DE1_5200_OBJ = $(patsubst %.c,$(DE1_5200_BUILD_DIR)/%.o,$(DE1_5200_SRC))
  | 
      |
| 123 | markw | CHAMELEON_PRJ = CHAMELEON
  | 
      |
| 899 | markw | CHAMELEON_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) chameleon/dirs.c spiflash/spiflash.c dummy/vidi2c.c chameleon/spibase.c sdram_common/rom_location.c
  | 
      |
| 180 | markw | CHAMELEON_OBJ = $(patsubst %.c,$(CHAMELEON_BUILD_DIR)/%.o,$(CHAMELEON_SRC))
  | 
      |
| 123 | markw | ||
| 412 | markw | ECLAIREXL_PRJ = ECLAIREXL
  | 
      |
| 884 | markw | ECLAIREXL_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) $(USB_SRC) de1/dirs.c clkgen/pll2.c vidi2c/vidi2c.c spiflash/spiflash.c pll/pll.c eclairexl/spibase.c eclairexl/rom_location.c
  | 
      |
| 412 | markw | ECLAIREXL_OBJ = $(patsubst %.c,$(ECLAIREXL_BUILD_DIR)/%.o,$(ECLAIREXL_SRC))
  | 
      |
| 69 | markw | MCC_PRJ = MCC216
  | 
      |
| 921 | markw | MCC_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) $(USB_SRC) mcc/dirs.c sdram_common/rom_location.c sdfakeflash/sdflash.c mcc/spibase.c
  | 
      |
| 275 | markw | #MCC_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) mcc/dirs.c
  | 
      |
| 180 | markw | MCC_OBJ = $(patsubst %.c,$(MCC_BUILD_DIR)/%.o,$(MCC_SRC))
  | 
      |
| 46 | markw | ||
| 287 | markw | MCC_5200_PRJ = MCC216_5200
  | 
      |
MCC_5200_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(5200_SRC) $(USB_SRC) mcc_5200/dirs.c
  | 
      |||
MCC_5200_OBJ = $(patsubst %.c,$(MCC_5200_BUILD_DIR)/%.o,$(MCC_5200_SRC))
  | 
      |||
| 275 | markw | MCCTV_PRJ = MCCTV
  | 
      |
| 915 | markw | MCCTV_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) $(USB_SRC) mcc/dirs.c sdram_common/rom_location.c sdfakeflash/sdflash.c mcc/spibase.c
  | 
      |
| 275 | markw | #MCCTV_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) mcc/dirs.c
  | 
      |
MCCTV_OBJ = $(patsubst %.c,$(MCCTV_BUILD_DIR)/%.o,$(MCCTV_SRC))
  | 
      |||
| 287 | markw | MCCTV_5200_PRJ = MCCTV_5200
  | 
      |
MCCTV_5200_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(5200_SRC) $(USB_SRC) mcc_5200/dirs.c
  | 
      |||
MCCTV_5200_OBJ = $(patsubst %.c,$(MCCTV_5200_BUILD_DIR)/%.o,$(MCCTV_5200_SRC))
  | 
      |||
| 69 | markw | MIST_PRJ = MIST
  | 
      |
| 919 | markw | MIST_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(A800_SRC) mist/dirs.c sdram_common/rom_location.c sdfakeflash/sdflash.c mcc/spibase.c
  | 
      |
| 180 | markw | MIST_OBJ = $(patsubst %.c,$(MIST_BUILD_DIR)/%.o,$(MIST_SRC))
  | 
      |
| 69 | markw | ||
| 189 | markw | MIST_5200_PRJ = MIST_5200
  | 
      |
| 238 | markw | MIST_5200_SRC = $(COMMON_SRC) $(SDCARD_SRC) $(5200_SRC) mist_5200/dirs.c
  | 
      |
| 189 | markw | MIST_5200_OBJ = $(patsubst %.c,$(MIST_5200_BUILD_DIR)/%.o,$(MIST_5200_SRC))
  | 
      |
| 309 | markw | SOCKIT_PRJ = SOCKIT
  | 
      |
| 966 | markw | SOCKIT_SRC = $(CORE_SRC) $(USB_SRC) menu.c a800/freeze.c  a800/mainmenu.c atari_drive_emulator.c a800/joystick.c dummy/vidi2c.c sockit/dirs.c sockit/linuxfile.c sockit/linuxdir.c sockit/memory.c sockit/rom_location.c
  | 
      |
| 309 | markw | SOCKIT_OBJ = $(patsubst %.c,$(SOCKIT_BUILD_DIR)/%.o,$(SOCKIT_SRC))
  | 
      |
| 46 | markw | LINKMAP  = ./standalone_simple.ld
  | 
      |
| 275 | markw | LINKMAP_LARGE  = ./standalone_simple_large.ld
  | 
      |
| 803 | markw | LINKMAP_LARGER  = ./standalone_simple_larger.ld
  | 
      |
| 46 | markw | ||
| 183 | markw | LINUXSIM_EXE	= linuxsim
  | 
      |
| 275 | markw | LINUXSIM_SRC	= $(COMMON_SRC) $(A800_SRC_LIGHT) $(USB_SRC) linux/main.c linux/mmc.c \
  | 
      |
| 183 | markw | 	sd_direct/diskio_mmc.c linux/dirs.c linux/linux_memory.c linux/curses_screen.c \
  | 
      |
| 895 | markw | 	linux/linux_helper.c linux/emulate_usb.c linux/pll2.c linux/vidi2c.c \
  | 
      |
	dummy/spiflash.c dummy/pll.c \
  | 
      |||
	sdram_common/rom_location.c
  | 
      |||
| 183 | markw | ||
| 189 | markw | LINUXSIM_5200_EXE	= linuxsim_5200
  | 
      |
LINUXSIM_5200_SRC	= $(COMMON_SRC) $(5200_SRC_LIGHT) linux/main.c linux/mmc.c \
  | 
      |||
	sd_direct/diskio_mmc.c linux/dirs.c linux/linux_memory.c linux/curses_screen.c \
  | 
      |||
	linux/linux_helper.c
  | 
      |||
| 183 | markw | LINUXSIM_OBJ	= $(patsubst %.c,$(LINUXSIM_BUILD_DIR)/%.o,$(LINUXSIM_SRC))
  | 
      |
| 189 | markw | LINUXSIM_5200_OBJ	= $(patsubst %.c,$(LINUXSIM_5200_BUILD_DIR)/%.o,$(LINUXSIM_5200_SRC))
  | 
      |
| 183 | markw | ||
| 46 | markw | # Commandline options for each tool.
  | 
      |
#ZPUOPTS= -mno-poppcrel -mno-pushspadd -mno-callpcrel -mno-shortop -mno-neg # No-neg requires bugfixed toolchain
  | 
      |||
#Include everything -> need to include emulation rom...
  | 
      |||
ZPUOPTS =
  | 
      |||
| 895 | markw | CFLAGS  = -I. -Ispiflash -Ividi2c -Iclkgen -Ipll -Isd_direct -Iprintf -Ifat -Icommon -Isdram_common -c -g -Os $(ZPUOPTS) -DDISABLE_UART_RX -DMAX_RAM_SELECT_XL=6 -DMAX_RAM_SELECT_800=4 -DATX
  | 
      |
| 803 | markw | CFLAGS_AEON  = -I. -Isd_direct -Iprintf -Ifat -Icommon -Iaeon_lite -c -g -Os $(ZPUOPTS) -DDISABLE_UART_RX -DMAX_RAM_SELECT_XL=5
  | 
      |
CFLAGS_PAPILIODUO  = -I. -Isd_direct -Iprintf -Ifat -Icommon -Ipapilioduo -c -g -Os $(ZPUOPTS) -DDISABLE_UART_RX -DMAX_RAM_SELECT_XL=3
  | 
      |||
| 46 | markw | ||
| 966 | markw | SOCKIT_CFLAGS += -I. -Icommon -Isockit -Iprintf -Idummy -DMAX_RAM_SELECT_XL=3 -DMAX_RAM_SELECT_800=4 -DMAX_VIDEO_MODE=6 -DNO_FLASH -DUSB -Iusb
  | 
      |
| 309 | markw | ||
| 895 | markw | HOST_CFLAGS += -I. -Isd_direct -Iprintf -Ifat -Icommon -Isdram_common -DDISABLE_UART_RX -DUSB -Iusb -Ividi2c -Ispiflash -Iclkgen -DMAX_RAM_SELECT_XL=6 -DMAX_RAM_SELECT_800=4 -DMAX_VIDEO_MODE=6
  | 
      |
| 183 | markw | ||
| 206 | markw | LFLAGS  = -nostartfiles -nostdlib -Wl,--relax -g -Os -Wl,-Map=out.map
  | 
      |
LFLAGS_5200  = -nostartfiles -Wl,--relax -g -Os -Wl,-Map=out.map
  | 
      |||
| 46 | markw | #LFLAGS  = -nostartfiles -Os
  | 
      |
| 275 | markw | CFLAGS_USB = $(CFLAGS) -DUSB -Iusb
  | 
      |
CFLAGS_USB2 = $(CFLAGS) -DUSB -DUSB2 -Iusb
  | 
      |||
| 206 | markw | CFLAGS_5200 = $(CFLAGS) -DFIRMWARE_5200
  | 
      |
| 287 | markw | CFLAGS_5200_USB = $(CFLAGS) -DFIRMWARE_5200 -DUSB -Iusb
  | 
      |
CFLAGS_5200_USB2 = $(CFLAGS) -DFIRMWARE_5200  -DUSB -DUSB2 -Iusb
  | 
      |||
| 206 | markw | HOST_CFLAGS_5200 = $(HOST_CFLAGS) -DFIRMWARE_5200
  | 
      |
| 46 | markw | ||
# Our target.
  | 
      |||
| 806 | markw | all: eclairexl
  | 
      |
| 46 | markw | ||
| 69 | markw | install:
  | 
      |
	cd ../common/romgen && ./createall && cd ../../firmware
  | 
      |||
| 116 | markw | aeon_lite: $(BUILD_DIR) $(AEON_LITE_PRJ).bin $(AEON_LITE_PRJ).rpt
  | 
      |
| 336 | markw | papilioduo: $(BUILD_DIR) $(PAPILIODUO_PRJ).bin $(PAPILIODUO_PRJ).rpt
  | 
      |
| 78 | markw | de1: $(BUILD_DIR) $(DE1_PRJ).bin $(DE1_PRJ).rpt
  | 
      |
| 189 | markw | de1_5200: $(BUILD_DIR) $(DE1_5200_PRJ).bin $(DE1_5200_PRJ).rpt
  | 
      |
| 123 | markw | chameleon: $(BUILD_DIR) $(CHAMELEON_PRJ).bin $(CHAMELEON_PRJ).rpt
  | 
      |
| 412 | markw | eclairexl: $(BUILD_DIR) $(ECLAIREXL_PRJ).bin $(ECLAIREXL_PRJ).rpt
  | 
      |
| 69 | markw | mcc: $(BUILD_DIR) $(MCC_PRJ).bin $(MCC_PRJ).rpt
  | 
      |
| 287 | markw | mcc_5200: $(BUILD_DIR) $(MCC_5200_PRJ).bin $(MCC_5200_PRJ).rpt
  | 
      |
| 275 | markw | mcctv: $(BUILD_DIR) $(MCCTV_PRJ).bin $(MCCTV_PRJ).rpt
  | 
      |
| 287 | markw | mcctv_5200: $(BUILD_DIR) $(MCCTV_5200_PRJ).bin $(MCCTV_5200_PRJ).rpt
  | 
      |
| 69 | markw | mist: $(BUILD_DIR) $(MIST_PRJ).bin $(MIST_PRJ).rpt
  | 
      |
| 189 | markw | mist_5200: $(BUILD_DIR) $(MIST_5200_PRJ).bin $(MIST_5200_PRJ).rpt
  | 
      |
| 309 | markw | sockit: $(BUILD_DIR) $(SOCKIT_PRJ).elf
  | 
      |
| 183 | markw | .PHONY: linux
  | 
      |
linux: $(BUILD_DIR) $(LINUXSIM_EXE)
  | 
      |||
| 189 | markw | .PHONY: linux_5200
  | 
      |
linux_5200: $(BUILD_DIR) $(LINUXSIM_5200_EXE)
  | 
      |||
| 46 | markw | clean:
  | 
      |
| 189 | markw | 	rm -rf $(BUILD_DIR)/* *.hex *.elf *.map *.lst *.srec *.bin *.rpt $(LINUXSIM_EXE) $(LINUXSIM_5200_EXE)
  | 
      |
| 46 | markw | ||
# Convert ELF binary to bin file.
  | 
      |||
%.bin: %.elf
  | 
      |||
	$(CP) -O binary $< $@
  | 
      |||
%.rpt: %.elf
  | 
      |||
	echo >$@ -n "End of code:\t"
  | 
      |||
	$(DUMP) -x $< | grep >>$@ _romend
  | 
      |||
	echo >>$@ -n "Start of BSS:\t"
  | 
      |||
	$(DUMP) -x $< | grep  >>$@ __bss_start__
  | 
      |||
	echo >>$@ -n "End of BSS:\t"
  | 
      |||
	$(DUMP) -x $< | grep >>$@ __bss_end__
  | 
      |||
	cat $@
  | 
      |||
# Link - this produces an ELF binary.
  | 
      |||
| 116 | markw | $(AEON_LITE_PRJ).elf: $(MINSTARTUP_OBJ) $(AEON_LITE_OBJ)
  | 
      |
	$(LD) $(LFLAGS) -T $(LINKMAP) -o $@ $+ $(LIBS)
  | 
      |||
| 336 | markw | $(PAPILIODUO_PRJ).elf: $(MINSTARTUP_OBJ) $(PAPILIODUO_OBJ)
  | 
      |
	$(LD) $(LFLAGS) -T $(LINKMAP) -o $@ $+ $(LIBS)
  | 
      |||
| 78 | markw | $(DE1_PRJ).elf: $(MINSTARTUP_OBJ) $(DE1_OBJ)
  | 
      |
| 915 | markw | 	$(LD) $(LFLAGS) -T $(LINKMAP_LARGE) -o $@ $+ $(LIBS)
  | 
      |
| 78 | markw | ||
| 189 | markw | $(DE1_5200_PRJ).elf: $(MINSTARTUP_OBJ) $(DE1_5200_OBJ)
  | 
      |
| 206 | markw | 	$(LD) $(LFLAGS_5200) -T $(LINKMAP) -o $@ $+ $(LIBS)
  | 
      |
| 189 | markw | ||
| 123 | markw | $(CHAMELEON_PRJ).elf: $(MINSTARTUP_OBJ) $(CHAMELEON_OBJ)
  | 
      |
| 883 | markw | 	$(LD) $(LFLAGS) -T $(LINKMAP_LARGE) -o $@ $+ $(LIBS)
  | 
      |
| 123 | markw | ||
| 412 | markw | $(ECLAIREXL_PRJ).elf: $(MINSTARTUP_OBJ) $(ECLAIREXL_OBJ)
  | 
      |
| 803 | markw | 	$(LD) $(LFLAGS) -T $(LINKMAP_LARGER) -o $@ $+ $(LIBS)
  | 
      |
| 412 | markw | ||
| 69 | markw | $(MCC_PRJ).elf: $(MINSTARTUP_OBJ) $(MCC_OBJ)
  | 
      |
| 883 | markw | 	$(LD) $(LFLAGS) -T $(LINKMAP_LARGER) -o $@ $+ $(LIBS)
  | 
      |
#	$(LD) $(LFLAGS) -T $(LINKMAP_LARGE) -o $@ $+ $(LIBS)
  | 
      |||
| 275 | markw | #	$(LD) $(LFLAGS) -T $(LINKMAP) -o $@ $+ $(LIBS)
  | 
      |
| 46 | markw | ||
| 287 | markw | $(MCC_5200_PRJ).elf: $(MINSTARTUP_OBJ) $(MCC_5200_OBJ)
  | 
      |
	$(LD) $(LFLAGS_5200) -T $(LINKMAP_LARGE) -o $@ $+ $(LIBS)
  | 
      |||
| 275 | markw | $(MCCTV_PRJ).elf: $(MINSTARTUP_OBJ) $(MCCTV_OBJ)
  | 
      |
| 904 | markw | 	$(LD) $(LFLAGS) -T $(LINKMAP_LARGER) -o $@ $+ $(LIBS)
  | 
      |
| 275 | markw | ||
| 287 | markw | $(MCCTV_5200_PRJ).elf: $(MINSTARTUP_OBJ) $(MCCTV_5200_OBJ)
  | 
      |
	$(LD) $(LFLAGS_5200) -T $(LINKMAP_LARGE) -o $@ $+ $(LIBS)
  | 
      |||
| 69 | markw | $(MIST_PRJ).elf: $(MINSTARTUP_OBJ) $(MIST_OBJ)
  | 
      |
| 907 | markw | 	$(LD) $(LFLAGS) -T $(LINKMAP_LARGE) -o $@ $+ $(LIBS)
  | 
      |
| 69 | markw | ||
| 189 | markw | $(MIST_5200_PRJ).elf: $(MINSTARTUP_OBJ) $(MIST_5200_OBJ)
  | 
      |
| 206 | markw | 	$(LD) $(LFLAGS_5200) -T $(LINKMAP) -o $@ $+ $(LIBS)
  | 
      |
| 189 | markw | ||
| 309 | markw | $(SOCKIT_PRJ).elf: $(SOCKIT_OBJ)
  | 
      |
	$(SOCKIT_LD) $(SOCKIT_LDFLAGS) -o $@ $+
  | 
      |||
| 183 | markw | $(LINUXSIM_EXE): $(LINUXSIM_OBJ)
  | 
      |
| 803 | markw | 	$(HOST_LD) -o $@ $+ $(HOST_LDFLAGS)
  | 
      |
| 183 | markw | ||
| 189 | markw | $(LINUXSIM_5200_EXE): $(LINUXSIM_5200_OBJ)
  | 
      |
	$(HOST_LD) $(HOST_LDFLAGS) -o $@ $+
  | 
      |||
| 180 | markw | $(AEON_LITE_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
| 46 | markw | 	mkdir -p `dirname $@`
  | 
      |
| 336 | markw | 	$(CC) -I$(AEON_LITE_DIR) $(CFLAGS_AEON)  -o $@ -c $<
  | 
      |
| 46 | markw | ||
| 336 | markw | $(PAPILIODUO_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
	$(CC) -I$(PAPILIODUO_DIR) $(CFLAGS_PAPILIODUO)  -o $@ -c $<
  | 
      |||
| 180 | markw | $(CHAMELEON_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 885 | markw | 	$(CC) -I$(CHAMELEON_DIR) $(CFLAGS) -DMAX_VIDEO_MODE=1 -o $@ -c $<
  | 
      |
| 180 | markw | ||
$(DE1_BUILD_DIR)/%.o: %.c Makefile
  | 
      |||
	mkdir -p `dirname $@`
  | 
      |||
| 915 | markw | 	$(CC) -I$(DE1_DIR) $(CFLAGS) -DMAX_VIDEO_MODE=1 -DNO_VID2I2C -o $@ -c $<
  | 
      |
| 180 | markw | ||
| 189 | markw | $(DE1_5200_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 915 | markw | 	$(CC) -I$(DE1_5200_DIR) $(CFLAGS_5200) -o $@ -c $<
  | 
      |
| 189 | markw | ||
| 412 | markw | $(ECLAIREXL_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 943 | markw | 	$(CC) -I$(ECLAIREXL_DIR) $(CFLAGS_USB2) -DDEBUG_SUPPORT -DPLL_SUPPORT -DRPD_SUPPORT -DMAX_VIDEO_MODE=6 -o $@ -c $<
  | 
      |
| 412 | markw | ||
| 180 | markw | $(MCC_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 921 | markw | 	$(CC) -I$(MCC_DIR) $(CFLAGS_USB) -DNO_VID2I2C -DMAX_VIDEO_MODE=1 -o $@ -c $<
  | 
      |
| 180 | markw | ||
| 287 | markw | $(MCC_5200_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 903 | markw | 	$(CC) -I$(MCC_5200_DIR) $(CFLAGS_5200_USB) -DNO_FLASH  -o $@ -c $<
  | 
      |
| 287 | markw | ||
| 275 | markw | $(MCCTV_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 915 | markw | 	$(CC) -I$(MCCTV_DIR) $(CFLAGS_USB2) -DNO_VID2I2C -DNO_VIDEO_MODE -DVIDEO_TV_ONLY -o $@ -c $<
  | 
      |
| 275 | markw | ||
| 287 | markw | $(MCCTV_5200_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 905 | markw | 	$(CC) -I$(MCCTV_5200_DIR) $(CFLAGS_5200_USB2) -DNO_FLASH  -o $@ -c $<
  | 
      |
| 287 | markw | ||
| 180 | markw | $(MIST_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 919 | markw | 	$(CC) -I$(MIST_DIR) $(CFLAGS) -DNO_VID2I2C -DMAX_VIDEO_MODE=1 -o $@ -c $<
  | 
      |
| 180 | markw | ||
| 189 | markw | $(MIST_5200_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
| 206 | markw | 	$(CC) -I$(MIST_5200_DIR) $(CFLAGS_5200)  -o $@ -c $<
  | 
      |
| 189 | markw | ||
| 309 | markw | $(SOCKIT_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	mkdir -p `dirname $@`
  | 
      |||
	$(SOCKIT_CC) -I$(SOCKIT_DIR) $(SOCKIT_CFLAGS)  -o $@ -c $<
  | 
      |||
| 183 | markw | $(LINUXSIM_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	@mkdir -p `dirname $@`
  | 
      |||
	$(HOST_CC) -I$(LINUXSIM_DIR) $(HOST_CFLAGS)  -o $@ -c $<
  | 
      |||
| 189 | markw | $(LINUXSIM_5200_BUILD_DIR)/%.o: %.c Makefile
  | 
      |
	@mkdir -p `dirname $@`
  | 
      |||
| 206 | markw | 	$(HOST_CC) -I$(LINUXSIM_DIR) $(HOST_CFLAGS_5200)  -o $@ -c $<
  | 
      |
| 189 | markw | ||
| 46 | markw | $(BUILD_DIR)/%.o: %.s
  | 
      |
	$(AS) -o $@ $<
  | 
      |||
$(BUILD_DIR)/%.o: $(STARTUP_DIR)/%.s
  | 
      |||
	$(AS) -o $@ $<
  | 
      |||
$(BUILD_DIR):
  | 
      |||
	mkdir $(BUILD_DIR)
  |