If you're creating a custom list that means you have files like this:
- feature.xml (to be put inside a subfolder of 12Hive\TEMPLATE\FEATURES)
- elements.xml (to be put in same folder)
- schema.xml (to be put in the subfolder of the above defined by Name in ListTemplate)
Your manifest.xml will be something like:
<Solution SolutionId="eba06f3e-2f6b-4b4b-bb88-b7b6004f4a1a" xmlns="http://schemas.microsoft.com/sharepoint/">
<FeatureManifest Location="MyFeature\feature.xml" />
The FeatureManifest specifies that this should go into 12Hive\TEMPLATE\FEATURES and it'll look for referenced files at the relative locations inside the cab file.
Your makecab.ddf will be something like:
;*** Diamond Directive File
.OPTION EXPLICIT ; Generate errors on variable typos
.Set CabinetNameTemplate=test.wsp ; The name of the WSP file
.set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory
.Set CompressionType=MSZIP ;
.Set Cabinet=on ;
.Set Compress=on ;
.Set DiskDirectory1=. ; Use the specified directory for the output CAB file
;*** Disable size limits for wsp (cab) files ;
;*** Files to zip ;
You should give your wsp another name in CabinetNameTemplate and down in the Files to zip section you should replace the first reference with the location of the files in your file system. The references can be relative to where you run makecab.
But as Dave writes you should use WSPBuilder instead of making these yourselves. If you put your files in a directory structure like the one I have used in my makecab.ddf then you can just run WSPBuilder in the c:\test directory and it'll look for files in the 12 folder and build the wsp file for you. If you want to see the manifest.xml and makecab.ddf then you can run WSPBuilder with the switches "-BuildDDF -CleanUp false"