| Author |
Message |
|
|
Posted: Apr 18, 2012 - 09:22 PM |
|

Joined: Oct 25, 2011
Posts: 249
Location: Brussels, Belgium
|
|
Hello,
I have an example program that I want to modificate;
In the makefile a lot of objects are built in order to link.
Then the right files are compiled.
Is there a way to add .c files to my project without using objects?
I tried just to add it in my project but it doesn't work.
Should I do something in the makefile?
Thanks a lot |
|
|
| |
|
|
|
|
|
Posted: Apr 18, 2012 - 09:36 PM |
|

Joined: Nov 17, 2004
Posts: 13834
Location: Vancouver, BC
|
|
|
Quote:
I tried just to add it in my project but it doesn't work.
Should I do something in the makefile?
If the project is using a makefile, then the IDE will pay no attention to what files are in the project (the makefile will be used rather than the project file list). Where to add it in the makefile depends on how the makefile is set up. Post it here. |
_________________ Regards,
Steve A.
The Board helps those that help themselves.
|
| |
|
|
|
|
|
Posted: Apr 18, 2012 - 09:52 PM |
|

Joined: Oct 25, 2011
Posts: 249
Location: Brussels, Belgium
|
|
here it is:
Code:
############################################################################################
# Makefile for the project Star Release Using single source files
############################################################################################
# $Id: Makefile_Debug 27393 2011-06-22 10:48:52Z yogesh.bellan $
# Build specific properties
_TAL_TYPE = ATMEGARF_TAL_1
_PAL_TYPE = ATMEGA128RFA1
_PAL_GENERIC_TYPE = MEGA_RF
_BOARD_TYPE = EK1
_HIGHEST_STACK_LAYER = MAC
# Path variables
## Path to main project directory
PATH_ROOT = ../../../../..
PATH_APP = ../..
PATH_TAL = $(PATH_ROOT)/TAL
PATH_TAL_CB = $(PATH_ROOT)/TAL/Src
PATH_MAC = $(PATH_ROOT)/MAC
PATH_PAL = $(PATH_ROOT)/PAL
PATH_TFA = $(PATH_ROOT)/TFA
PATH_RES = $(PATH_ROOT)/Resources
PATH_SIO_SUPPORT = $(PATH_ROOT)/Applications/Helper_Files/SIO_Support
PATH_GLOB_INC = $(PATH_ROOT)/Include
## General Flags
PROJECT = Star
MCU = atmega128rfa1
TARGET_DIR = .
TARGET = $(TARGET_DIR)/$(PROJECT).elf
CC = avr-gcc
## Options common to compile, link and assembly rules
COMMON = -mmcu=$(MCU)
## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -Werror -g -Wundef -std=c99 -DSIO_HUB -DUART0 -Os
CFLAGS += -DDEBUG=1
CFLAGS += -DENABLE_TFA
CFLAGS += -DFFD
CFLAGS += -DTAL_TYPE=$(_TAL_TYPE)
CFLAGS += -DPAL_GENERIC_TYPE=$(_PAL_GENERIC_TYPE)
CFLAGS += -DPAL_TYPE=$(_PAL_TYPE)
CFLAGS += -DBOARD_TYPE=$(_BOARD_TYPE)
CFLAGS += -DHIGHEST_STACK_LAYER=$(_HIGHEST_STACK_LAYER)
CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d
CFLAGS += -DBAUD_RATE=500000
CFLAGS += -DENABLE_RC_OSC_CALIBRATION
CFLAGS += -DHIGH_DATA_RATE_SUPPORT
CFLAGS += -DREDUCED_PARAM_CHECK
CFLAGS += -DENABLE_TSTAMP
## Assembly specific flags
ASMFLAGS = $(COMMON)
ASMFLAGS += $(CFLAGS)
ASMFLAGS += -x assembler-with-cpp -Wa,-g
## Linker flags
LDFLAGS = $(COMMON) -Wl,-Map=$(PROJECT).map -Wl,--section-start=.data=0x800200
LDFLAGS += -Wl,-u,vfprintf -lprintf_flt
## Intel Hex file production flags
HEX_FLASH_FLAGS = -R .eeprom
HEX_EEPROM_FLAGS = -j .eeprom
HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load"
HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings
## Include directories for application
INCLUDES = -I $(PATH_APP)/Inc
## Include directories for SIO support
INCLUDES += -I $(PATH_SIO_SUPPORT)/Inc
## Include directories for general includes
INCLUDES += -I $(PATH_GLOB_INC)
## Include directories for resources
INCLUDES += -I $(PATH_RES)/Buffer_Management/Inc/
INCLUDES += -I $(PATH_RES)/Queue_Management/Inc/
## Include directories for MAC
INCLUDES += -I $(PATH_MAC)/Inc/
## Include directories for TAL
INCLUDES += -I $(PATH_TAL)/Inc/
INCLUDES += -I $(PATH_TAL)/$(_TAL_TYPE)/Inc/
## Include directories for PAL
INCLUDES += -I $(PATH_PAL)/Inc/
INCLUDES += -I $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/Generic/Inc
INCLUDES += -I $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Inc/
## Include directories for specific boards type
INCLUDES += -I $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Boards/
INCLUDES += -I $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Boards/$(_BOARD_TYPE)
## Include directories for TFA
INCLUDES += -I $(PATH_TFA)/Inc/
## Objects that must be built in order to link
OBJECTS = $(TARGET_DIR)/main.o\
$(TARGET_DIR)/sio_handler.o\
$(TARGET_DIR)/pal_uart.o\
$(TARGET_DIR)/pal_usb_ftdi.o\
$(TARGET_DIR)/pal_sio_hub.o\
$(TARGET_DIR)/pal_irq.o\
$(TARGET_DIR)/pal.o\
$(TARGET_DIR)/pal_mcu_generic.o\
$(TARGET_DIR)/pal_timer.o\
$(TARGET_DIR)/pal_board.o\
$(TARGET_DIR)/pal_utils.o\
$(TARGET_DIR)/bmm.o\
$(TARGET_DIR)/qmm.o\
$(TARGET_DIR)/tal.o\
$(TARGET_DIR)/tal_rx.o\
$(TARGET_DIR)/tal_tx.o\
$(TARGET_DIR)/tal_ed.o\
$(TARGET_DIR)/tal_slotted_csma.o\
$(TARGET_DIR)/tal_pib.o\
$(TARGET_DIR)/tal_init.o\
$(TARGET_DIR)/tal_irq_handler.o\
$(TARGET_DIR)/tal_pwr_mgmt.o\
$(TARGET_DIR)/tal_rx_enable.o \
$(TARGET_DIR)/mac_associate.o \
$(TARGET_DIR)/mac_beacon.o \
$(TARGET_DIR)/mac_callback_wrapper.o \
$(TARGET_DIR)/mac_data_ind.o \
$(TARGET_DIR)/mac_data_req.o \
$(TARGET_DIR)/mac_disassociate.o \
$(TARGET_DIR)/mac_dispatcher.o \
$(TARGET_DIR)/mac.o \
$(TARGET_DIR)/mac_mcps_data.o \
$(TARGET_DIR)/mac_misc.o \
$(TARGET_DIR)/mac_orphan.o \
$(TARGET_DIR)/mac_pib.o \
$(TARGET_DIR)/mac_poll.o \
$(TARGET_DIR)/mac_process_beacon_frame.o \
$(TARGET_DIR)/mac_process_tal_tx_frame_status.o \
$(TARGET_DIR)/mac_rx_enable.o \
$(TARGET_DIR)/mac_scan.o \
$(TARGET_DIR)/mac_start.o \
$(TARGET_DIR)/mac_sync.o \
$(TARGET_DIR)/mac_tx_coord_realignment_command.o \
$(TARGET_DIR)/mac_api.o \
$(TARGET_DIR)/usr_mcps_purge_conf.o \
$(TARGET_DIR)/usr_mlme_beacon_notify_ind.o \
$(TARGET_DIR)/usr_mlme_disassociate_conf.o \
$(TARGET_DIR)/usr_mlme_disassociate_ind.o \
$(TARGET_DIR)/usr_mlme_get_conf.o \
$(TARGET_DIR)/usr_mlme_orphan_ind.o \
$(TARGET_DIR)/usr_mlme_poll_conf.o \
$(TARGET_DIR)/usr_mlme_rx_enable_conf.o \
$(TARGET_DIR)/usr_mlme_sync_loss_ind.o \
$(TARGET_DIR)/tfa.o
## Objects explicitly added by the user
LINKONLYOBJECTS =
## Build
all: $(TARGET) $(TARGET_DIR)/$(PROJECT).hex $(TARGET_DIR)/$(PROJECT).eep $(TARGET_DIR)/$(PROJECT).lss size
## Compile
$(TARGET_DIR)/main.o: $(PATH_APP)/Src/main.c
$(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
$(TARGET_DIR)/sio_handler.o: $(PATH_SIO_SUPPORT)/Src/sio_handler.c
$(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $<
$(TARGET_DIR)/pal_uart.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/Generic/Src/pal_uart.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/pal_usb_ftdi.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Src/pal_usb_ftdi.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/pal_sio_hub.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Src/pal_sio_hub.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/pal_irq.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Src/pal_irq.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/pal.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/Generic/Src/pal.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/pal_mcu_generic.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Src/pal_mcu_generic.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/pal_timer.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Src/pal_timer.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/pal_board.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/$(_PAL_TYPE)/Boards/$(_BOARD_TYPE)/pal_board.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/pal_utils.o: $(PATH_PAL)/$(_PAL_GENERIC_TYPE)/Generic/Src/pal_utils.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/bmm.o: $(PATH_RES)/Buffer_Management/Src/bmm.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/qmm.o: $(PATH_RES)/Queue_Management/Src/qmm.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_rx.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_rx.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_tx.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_tx.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_ed.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_ed.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_slotted_csma.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_slotted_csma.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_pib.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_pib.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_init.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_init.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_irq_handler.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_irq_handler.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_pwr_mgmt.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_pwr_mgmt.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tal_rx_enable.o: $(PATH_TAL)/$(_TAL_TYPE)/Src/tal_rx_enable.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/tfa.o: $(PATH_TFA)/$(_TAL_TYPE)/Src/tfa.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_associate.o: $(PATH_MAC)/Src/mac_associate.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_beacon.o: $(PATH_MAC)/Src/mac_beacon.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_callback_wrapper.o: $(PATH_MAC)/Src/mac_callback_wrapper.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_data_ind.o: $(PATH_MAC)/Src/mac_data_ind.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_data_req.o: $(PATH_MAC)/Src/mac_data_req.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_disassociate.o: $(PATH_MAC)/Src/mac_disassociate.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_dispatcher.o: $(PATH_MAC)/Src/mac_dispatcher.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac.o: $(PATH_MAC)/Src/mac.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_mcps_data.o: $(PATH_MAC)/Src/mac_mcps_data.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_misc.o: $(PATH_MAC)/Src/mac_misc.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_orphan.o: $(PATH_MAC)/Src/mac_orphan.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_pib.o: $(PATH_MAC)/Src/mac_pib.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_poll.o: $(PATH_MAC)/Src/mac_poll.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_process_beacon_frame.o: $(PATH_MAC)/Src/mac_process_beacon_frame.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_process_tal_tx_frame_status.o: $(PATH_MAC)/Src/mac_process_tal_tx_frame_status.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_rx_enable.o: $(PATH_MAC)/Src/mac_rx_enable.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_scan.o: $(PATH_MAC)/Src/mac_scan.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_start.o: $(PATH_MAC)/Src/mac_start.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_sync.o: $(PATH_MAC)/Src/mac_sync.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_tx_coord_realignment_command.o: $(PATH_MAC)/Src/mac_tx_coord_realignment_command.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mcps_data_conf.o: $(PATH_MAC)/Src/usr_mcps_data_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mcps_data_ind.o: $(PATH_MAC)/Src/usr_mcps_data_ind.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mcps_purge_conf.o: $(PATH_MAC)/Src/usr_mcps_purge_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_associate_conf.o: $(PATH_MAC)/Src/usr_mlme_associate_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_associate_ind.o: $(PATH_MAC)/Src/usr_mlme_associate_ind.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_beacon_notify_ind.o: $(PATH_MAC)/Src/usr_mlme_beacon_notify_ind.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_comm_status_ind.o: $(PATH_MAC)/Src/usr_mlme_comm_status_ind.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_disassociate_conf.o: $(PATH_MAC)/Src/usr_mlme_disassociate_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_disassociate_ind.o: $(PATH_MAC)/Src/usr_mlme_disassociate_ind.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_get_conf.o: $(PATH_MAC)/Src/usr_mlme_get_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_orphan_ind.o: $(PATH_MAC)/Src/usr_mlme_orphan_ind.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_poll_conf.o: $(PATH_MAC)/Src/usr_mlme_poll_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_reset_conf.o: $(PATH_MAC)/Src/usr_mlme_reset_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_rx_enable_conf.o: $(PATH_MAC)/Src/usr_mlme_rx_enable_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_scan_conf.o: $(PATH_MAC)/Src/usr_mlme_scan_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_set_conf.o: $(PATH_MAC)/Src/usr_mlme_set_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_start_conf.o: $(PATH_MAC)/Src/usr_mlme_start_conf.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/usr_mlme_sync_loss_ind.o: $(PATH_MAC)/Src/usr_mlme_sync_loss_ind.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
$(TARGET_DIR)/mac_api.o: $(PATH_MAC)/Src/mac_api.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
##Link
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) -o $(TARGET)
%.hex: $(TARGET)
avr-objcopy -O ihex $(HEX_FLASH_FLAGS) $< $@
%.eep: $(TARGET)
avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0
%.lss: $(TARGET)
avr-objdump -h -S $< > $@
## avr-size options
ifdef windir
SIZEFLAGS = -C --mcu=${MCU}
else
ifdef WINDIR
SIZEFLAGS = -C --mcu=${MCU}
else
SIZEFLAGS = -B
endif
endif
size: ${TARGET}
@echo
@avr-size $(SIZEFLAGS) ${TARGET}
## Clean target
.PHONY: clean
clean:
-rm -rf $(TARGET_DIR)/*.o $(TARGET_DIR)/$(PROJECT).elf dep/* $(TARGET_DIR)/$(PROJECT).hex $(TARGET_DIR)/$(PROJECT).eep $(TARGET_DIR)/$(PROJECT).lss $(TARGET_DIR)/$(PROJECT).map
## Other dependencies
-include $(shell mkdir dep 2>temp.err) $(wildcard dep/*)
|
|
|
| |
|
|
|
|
|
Posted: Apr 18, 2012 - 10:14 PM |
|


Joined: Mar 27, 2002
Posts: 18545
Location: Lund, Sweden
|
|
First you will need to add a rule to take your source file and compile it into an object file, i.e. something similar to this:
Code:
$(TARGET_DIR)/yourfile.o: $(PATH_MAC)/Src/yourfile.c
$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $<
but where you replace the filename with the path and name of your specific file.
Then you will need to tell the linker to pull that file also into the link stage, i.e. add a line at the end of the objects list similar to the entries tha are already there. Don't forget to place a line continuation backslash on the preceding line, e.g.
Code:
.
.
$(TARGET_DIR)/usr_mlme_sync_loss_ind.o \
$(TARGET_DIR)/tfa.o \
$(TARGET_DIR)/yourfile.o
|
|
|
| |
|
|
|
|
|
Posted: Apr 18, 2012 - 10:47 PM |
|

Joined: Mar 09, 2012
Posts: 1452
Location: North Carolina, USA
|
|
|
JohanEkdahl wrote:
Then you will need to tell the linker to pull that file also into the link stage, i.e. add a line at the end of the objects list similar to the entries tha are already there. Don't forget to place a line continuation backslash on the preceding line, e.g.
Code:
.
.
$(TARGET_DIR)/usr_mlme_sync_loss_ind.o \
$(TARGET_DIR)/tfa.o \
$(TARGET_DIR)/yourfile.o
It should be possible to do this without including the new .o file in the linking of the existing app, if that's what he wants. If memory serves me, adding $(TARGET_DIR)/yourfile.o to the all: line is all it takes. |
|
|
| |
|
|
|
|
|
Posted: Apr 18, 2012 - 11:15 PM |
|

Joined: Oct 25, 2011
Posts: 249
Location: Brussels, Belgium
|
|
Ok thank you. I can build my project now.
But know, when i want to debug I have this error that I hadn't before:
00:07:27: [ERROR] Failed to launch. Missing file:.....*elf
It's saying it misses the elf file, but an *elf file is present in my project.
Any ideas? |
|
|
| |
|
|
|
|
|
Posted: Apr 19, 2012 - 07:15 AM |
|


Joined: Mar 27, 2002
Posts: 18545
Location: Lund, Sweden
|
|
|
Quote:
It should be possible to do this without including the new .o file in the linking of the existing app, if that's what he wants. If memory serves me, adding $(TARGET_DIR)/yourfile.o to the all: line is all it takes.
Perhaps. But then he will get the default .c.o rule, which might not be what he wants. I went for simply expanding the already very clumsy makefile with another instance of the same clumsiness. |
|
|
| |
|
|
|
|
|