diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-12 10:39:56 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-16 15:34:46 +0100 |
commit | 9956d77cc726c4a0fc6b710607a5938102798cb5 (patch) | |
tree | 43560f718b0d07d8ca4cd5835f63f3f55678dd91 | |
parent | Move __FreeBSD__ define to header files (diff) | |
download | rtems-libbsd-9956d77cc726c4a0fc6b710607a5938102798cb5.tar.bz2 |
Allow source file set specific compiler flags
-rwxr-xr-x | freebsd-to-rtems.py | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py index 18b1c193..2fb45196 100755 --- a/freebsd-to-rtems.py +++ b/freebsd-to-rtems.py @@ -309,8 +309,15 @@ class MakefileFragmentComposer(object): return '' class SourceFileMakefileFragmentComposer(MakefileFragmentComposer): + def __init__(self, cflags = None): + self.cflags = cflags + def compose(self, path): - return 'LIB_C_FILES += ' + path + '\n' + fragment = 'LIB_C_FILES += ' + path + '\n' + if self.cflags != None: + fragment = fragment + path[:-1] + 'o: ' + path + '\n' \ + + '\t$(CC) $(CPPFLAGS) $(CFLAGS) ' + self.cflags + ' -c $< -o $@\n' + return fragment class TestMakefileFragementComposer(MakefileFragmentComposer): def __init__(self, testName, fileFragments, runTest, netTest): @@ -602,26 +609,26 @@ class Module: for cpu in targetCPUs: self.files = self.addFiles(self.files, files, TargetSourceCPUDependentPathComposer(cpu, sourceCPU), FromFreeBSDToRTEMSHeaderConverter(), NoConverter(), assertHeaderFile) - def addSourceFiles(self, files): - self.files = self.addFiles(self.files, files, PathComposer(), NoConverter(), NoConverter(), assertSourceFile, SourceFileMakefileFragmentComposer()) + def addSourceFiles(self, files, cflags = None): + self.files = self.addFiles(self.files, files, PathComposer(), NoConverter(), NoConverter(), assertSourceFile, SourceFileMakefileFragmentComposer(cflags)) - def addKernelSpaceSourceFiles(self, files): - self.files = self.addFiles(self.files, files, FreeBSDPathComposer(), FromFreeBSDToRTEMSSourceConverter(), FromRTEMSToFreeBSDSourceConverter(), assertSourceFile, SourceFileMakefileFragmentComposer()) + def addKernelSpaceSourceFiles(self, files, cflags = None): + self.files = self.addFiles(self.files, files, FreeBSDPathComposer(), FromFreeBSDToRTEMSSourceConverter(), FromRTEMSToFreeBSDSourceConverter(), assertSourceFile, SourceFileMakefileFragmentComposer(cflags)) - def addUserSpaceSourceFiles(self, files): - self.files = self.addFiles(self.files, files, FreeBSDPathComposer(), FromFreeBSDToRTEMSUserSpaceSourceConverter(), FromRTEMSToFreeBSDSourceConverter(), assertSourceFile, SourceFileMakefileFragmentComposer()) + def addUserSpaceSourceFiles(self, files, cflags = None): + self.files = self.addFiles(self.files, files, FreeBSDPathComposer(), FromFreeBSDToRTEMSUserSpaceSourceConverter(), FromRTEMSToFreeBSDSourceConverter(), assertSourceFile, SourceFileMakefileFragmentComposer(cflags)) - def addRTEMSSourceFiles(self, files): - self.files = self.addFiles(self.files, files, RTEMSPathComposer(), NoConverter(), NoConverter(), assertSourceFile, SourceFileMakefileFragmentComposer()) + def addRTEMSSourceFiles(self, files, cflags = None): + self.files = self.addFiles(self.files, files, RTEMSPathComposer(), NoConverter(), NoConverter(), assertSourceFile, SourceFileMakefileFragmentComposer(cflags)) - def addCPUDependentSourceFiles(self, cpu, files): + def addCPUDependentSourceFiles(self, cpu, files, cflags = None): self.initCPUDependencies(cpu) - self.cpuDependentSourceFiles [cpu] = self.addFiles(self.cpuDependentSourceFiles [cpu], files, CPUDependentPathComposer(), FromFreeBSDToRTEMSSourceConverter(), FromRTEMSToFreeBSDSourceConverter(), assertSourceFile, SourceFileMakefileFragmentComposer()) + self.cpuDependentSourceFiles [cpu] = self.addFiles(self.cpuDependentSourceFiles [cpu], files, CPUDependentPathComposer(), FromFreeBSDToRTEMSSourceConverter(), FromRTEMSToFreeBSDSourceConverter(), assertSourceFile, SourceFileMakefileFragmentComposer(cflags)) - def addTargetSourceCPUDependentSourceFiles(self, targetCPUs, sourceCPU, files): + def addTargetSourceCPUDependentSourceFiles(self, targetCPUs, sourceCPU, files, cflags = None): for cpu in targetCPUs: self.initCPUDependencies(cpu) - self.cpuDependentSourceFiles [cpu] = self.addFiles(self.cpuDependentSourceFiles [cpu], files, TargetSourceCPUDependentPathComposer(cpu, sourceCPU), FromFreeBSDToRTEMSSourceConverter(), NoConverter(), assertSourceFile, SourceFileMakefileFragmentComposer()) + self.cpuDependentSourceFiles [cpu] = self.addFiles(self.cpuDependentSourceFiles [cpu], files, TargetSourceCPUDependentPathComposer(cpu, sourceCPU), FromFreeBSDToRTEMSSourceConverter(), NoConverter(), assertSourceFile, SourceFileMakefileFragmentComposer(cflags)) def addTest(self, testName, fileFragments, runTest = True, netTest = False): self.files.append(File(testName, PathComposer(), NoConverter(), NoConverter(), TestMakefileFragementComposer(testName, fileFragments, runTest, netTest))) |