How to structure project with SVN and different dependent build targets
I have a software project which has a global software base but many different build targe开发者_如何转开发ts for specific hardware platforms. At the moment I address these targets by different makefiles, which access the hardwareplatform specific folders. But I thought about, how I could improve this structure....because in most terms the user will only focus on one hardware platform, but all platforms should be in the svn. So is it possible and if yes, in which way, to build a structure in svn in that way, that I have only one makefile one folder for hardware specific stuff and only differentiation by checking out on a specific branch,tag...? But the development process should also continue on all platforms in parallel? How could I handle it best?
You can split your makefile into base and hardware specific parts. Then, you can structure it as
/cmn_src
/hw1
makefile.part
/hw2
makefile.part
makefile
So, your basic makefile will utilize this:
include $(HARDWARE_TYPE)/makefile.part
...
If you aim to limit size (or fix tag/revision) for product you can also setup svn product specific location with externals:
/product_based_on_hw1
^.../hw1 hw1
^.../cmn_src cmn_src
精彩评论