# # Subdirectory makefiles do some setup, then we get here # # Tool helpers CARGS =-B${RTEMS_MAKEFILE_PATH}/lib/ -specs=bsp_specs -qrtems $(CPU_CFLAGS) # GEN5200 Specific Information ifeq ($(RTEMS_BSP_FAMILY),gen5200) LINKARGS+=-qnolinkcmds -T$(RTEMS_LINKCMDS) endif # PC386 Specific Information ifeq ($(RTEMS_BSP_FAMILY),pc386) HEADERADDR=0x00097E00 START16FILE=$(RTEMS_MAKEFILE_PATH)/lib/start16.bin START16ADDR=0x00097C00 RELOCADDR=0x00100000 LINKARGS+= -Wl,-Ttext,$(RELOCADDR) endif # Some tests need to be able to do a gethostbyname ifeq ($(NEED_ROOTFS_FOR_HOST_INFO),yes) CLEAN_ADDITIONS += FilesystemImage FilesystemImage.c FilesystemImage.h FILESYSTEM_OBJS = FilesystemImage.o FILESYSTEM_SRCS = FilesystemImage.h CFLAGS += -DENABLE_UNTAR_ROOT_FILESYSTEM -I. endif CFLAGS += $(DEFINES) all: $(PROGRAM).exe $(PROGRAM).exe: rtems_init.o $(FILESYSTEM_OBJS) $(PROGRAM).adb $(EXTRA_OBJS) $(AS:as=gnatmake) \ -I$(RTEMS_MAKEFILE_PATH)/lib/include/adainclude \ -v $(EXTRA_GNATFLAGS) \ -O -gnata -gnatE -gnato -g $(PROGRAM) -o $(@) \ -bargs -Mgnat_main \ -largs $(CARGS) $(LINKARGS) rtems_init.o $(FILESYSTEM_OBJS) \ $(EXTRA_OBJS) $(SIZE) $(@) ifeq ($(RTEMS_BSP_FAMILY),pc386) mv $(@) $(@).obj $(OBJCOPY) -O elf32-i386 \ --remove-section=.rodata \ --remove-section=.comment \ --remove-section=.note \ --strip-unneeded $(@).obj $(@) $(OBJCOPY) -O binary $(@).obj $(@).bin $(RTEMS_MAKEFILE_PATH)/build-tools/bin2boot -v $(@).bt $(HEADERADDR) \ $(START16FILE) $(START16ADDR) 0 $(@).bin $(RELOCADDR) 0 rm -f $(@).obj $(@).bin endif rtems_init.o: ../rtems_init.c ../networkconfig.h $(FILESYSTEM_SRCS) $(CC) $(CFLAGS) -I. $(CPU_CFLAGS) -c $< ifeq ($(NEED_ROOTFS_FOR_HOST_INFO),yes) FilesystemImage: ../rootfs/etc/host.conf ../rootfs/etc/hosts (cd ../rootfs ; tar cf - --exclude CVS --exclude .cvsignore .) >$(@) FilesystemImage.c FilesystemImage.h: FilesystemImage $(PROJECT_ROOT)/bin/rtems-bin2c FilesystemImage FilesystemImage FilesystemImage.o: FilesystemImage.c $(CC) $(CFLAGS) $(CPU_CFLAGS) -c $< endif clean: rm -f b~*.* *.o *.ali $(PROGRAM) rm -f *.num *.exe *.obj *.bin *.bt *.gba