mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-12-22 10:30:13 +00:00
added:
- include contiki system symbols option (no need for the missing elf-loader files) (including symbols not working without a few additional files)
This commit is contained in:
parent
0f3764539a
commit
cc53f38fbb
@ -1,4 +1,4 @@
|
||||
# $Id: Makefile.cooja,v 1.8 2006/10/23 16:07:29 fros4943 Exp $
|
||||
# $Id: Makefile.cooja,v 1.9 2006/11/06 18:07:51 fros4943 Exp $
|
||||
|
||||
## The COOJA Simulator Contiki platform Makefile
|
||||
##
|
||||
@ -64,12 +64,16 @@ vpath %.c $(PROJECTDIRS) \
|
||||
|
||||
### Define custom targets
|
||||
$(LIBFILE): $(MAINFILE) $(PROJECT_OBJECTFILES) $(DEPFILE)
|
||||
ifdef SYMBOLS
|
||||
${CONTIKI}/tools/make-symbols-nm $(LIBFILE)
|
||||
$(CC) $(CFLAGS) -c symbols.c -o $(OBJECTDIR)/symbols.o
|
||||
$(LD) -Map=$(MAPFILE) -shared $(LD_ARGS_1) -o $@ $^ $(LD_ARGS_2)
|
||||
$(LD) -Map=$(MAPFILE) -shared $(LD_ARGS_1) -o $@ $^ $(OBJECTDIR)/symbols.o $(LD_ARGS_2)
|
||||
${CONTIKI}/tools/make-symbols-nm $(LIBFILE)
|
||||
$(CC) $(CFLAGS) -c symbols.c -o $(OBJECTDIR)/symbols.o
|
||||
$(LD) -Map=$(MAPFILE) -shared $(LD_ARGS_1) -o $@ $^ $(OBJECTDIR)/symbols.o $(LD_ARGS_2)
|
||||
else
|
||||
$(LD) -Map=$(MAPFILE) -shared $(LD_ARGS_1) -o $@ $^ $(LD_ARGS_2)
|
||||
endif
|
||||
|
||||
$(DEPFILE): ${addprefix $(OBJECTDIR)/, $(CONTIKI_SOURCEFILES:.c=.o)}
|
||||
$(AR) rcf $@ $^
|
||||
|
@ -26,7 +26,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: ContikiMoteTypeDialog.java,v 1.12 2006/10/21 10:40:33 fros4943 Exp $
|
||||
* $Id: ContikiMoteTypeDialog.java,v 1.13 2006/11/06 18:03:34 fros4943 Exp $
|
||||
*/
|
||||
|
||||
package se.sics.cooja.contikimote;
|
||||
@ -81,7 +81,8 @@ public class ContikiMoteTypeDialog extends JDialog {
|
||||
private JTextField textID, textOutputFiles, textDescription, textContikiDir,
|
||||
textCoreDir, textUserPlatforms;
|
||||
private JButton createButton, testButton, rescanButton;
|
||||
|
||||
private JCheckBox symbolsCheckBox;
|
||||
|
||||
private JPanel processPanel; // Holds process checkboxes
|
||||
private JPanel sensorPanel; // Holds sensor checkboxes
|
||||
private JPanel moteInterfacePanel; // Holds mote interface checkboxes
|
||||
@ -198,6 +199,11 @@ public class ContikiMoteTypeDialog extends JDialog {
|
||||
myDialog.textUserPlatforms.setText(userPlatformText);
|
||||
}
|
||||
|
||||
// Set preset "use symbols"
|
||||
if (moteTypeToConfigure.hasSystemSymbols()) {
|
||||
myDialog.symbolsCheckBox.setSelected(true);
|
||||
}
|
||||
|
||||
// Scan directories for processes, sensors and core interfaces
|
||||
// TODO Really do this without starting a separate thread?
|
||||
myDialog.updateVisualFields();
|
||||
@ -563,6 +569,30 @@ public class ContikiMoteTypeDialog extends JDialog {
|
||||
|
||||
mainPane.add(Box.createRigidArea(new Dimension(0, 5)));
|
||||
|
||||
// Include symbols selection
|
||||
smallPane = new JPanel();
|
||||
smallPane.setAlignmentX(Component.LEFT_ALIGNMENT);
|
||||
smallPane.setLayout(new BoxLayout(smallPane, BoxLayout.X_AXIS));
|
||||
label = new JLabel("System symbols");
|
||||
label.setPreferredSize(new Dimension(LABEL_WIDTH, LABEL_HEIGHT));
|
||||
|
||||
symbolsCheckBox = new JCheckBox("Include");
|
||||
symbolsCheckBox.setSelected(false);
|
||||
symbolsCheckBox.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
pathsWereUpdated();
|
||||
}
|
||||
});
|
||||
|
||||
smallPane.add(label);
|
||||
smallPane.add(Box.createHorizontalStrut(10));
|
||||
smallPane.add(Box.createHorizontalGlue());
|
||||
smallPane.add(symbolsCheckBox);
|
||||
|
||||
mainPane.add(smallPane);
|
||||
|
||||
mainPane.add(Box.createRigidArea(new Dimension(0, 5)));
|
||||
|
||||
// Separator
|
||||
mainPane.add(new JSeparator());
|
||||
mainPane.add(Box.createRigidArea(new Dimension(0, 5)));
|
||||
@ -993,7 +1023,7 @@ public class ContikiMoteTypeDialog extends JDialog {
|
||||
}
|
||||
|
||||
compilationSucceded = ContikiMoteTypeDialog.compileLibrary(identifier,
|
||||
contikiDir, filesToCompile,
|
||||
contikiDir, filesToCompile, symbolsCheckBox.isSelected(),
|
||||
taskOutput.getInputStream(MessageList.NORMAL),
|
||||
taskOutput.getInputStream(MessageList.ERROR));
|
||||
}
|
||||
@ -1204,6 +1234,8 @@ public class ContikiMoteTypeDialog extends JDialog {
|
||||
* Contiki base directory
|
||||
* @param sourceFiles
|
||||
* Source files and directories to include in compilation
|
||||
* @param includeSymbols
|
||||
* Generate and include symbols in library file
|
||||
* @param outputStream
|
||||
* Output stream from compilation (optional)
|
||||
* @param errorStream
|
||||
@ -1211,7 +1243,7 @@ public class ContikiMoteTypeDialog extends JDialog {
|
||||
* @return True if compilation succeded, false otherwise
|
||||
*/
|
||||
public static boolean compileLibrary(String identifier, File contikiDir,
|
||||
Vector<File> sourceFiles, final PrintStream outputStream,
|
||||
Vector<File> sourceFiles, boolean includeSymbols, final PrintStream outputStream,
|
||||
final PrintStream errorStream) {
|
||||
|
||||
File libFile = new File(ContikiMoteType.tempOutputDirectory,
|
||||
@ -1307,6 +1339,7 @@ public class ContikiMoteTypeDialog extends JDialog {
|
||||
"LD_ARGS_1=" + GUI.getExternalToolsSetting("LINKER_ARGS_1", ""),
|
||||
"LD_ARGS_2=" + GUI.getExternalToolsSetting("LINKER_ARGS_2", ""),
|
||||
"EXTRA_CC_ARGS=" + ccFlags,
|
||||
"SYMBOLS=" + (includeSymbols?"1":""),
|
||||
"CC=" + GUI.getExternalToolsSetting("PATH_C_COMPILER"),
|
||||
"LD=" + GUI.getExternalToolsSetting("PATH_LINKER"),
|
||||
"PROJECTDIRS=" + sourceDirs,
|
||||
@ -1979,6 +2012,9 @@ public class ContikiMoteTypeDialog extends JDialog {
|
||||
}
|
||||
myMoteType.setMoteInterfaces(moteInterfaces);
|
||||
|
||||
// Set "using symbols"
|
||||
myMoteType.setHasSystemSymbols(symbolsCheckBox.isSelected());
|
||||
|
||||
dispose();
|
||||
} else if (e.getActionCommand().equals("testsettings")) {
|
||||
testButton.requestFocus();
|
||||
|
Loading…
Reference in New Issue
Block a user