• Description
    If You have ever written some longer program, You discovered that it will be much better to separate it to more that just one source. PowerD Project Compiler will do this stuff for You. It contains a little intelligence and it will compile only files that were changed. powerd_fpu.lib will be linked automaticaly.

  • Usage
    PowerD project compiler (pc) has several arguments:
      pc FROM/A,A=ALL/S,DS=DEBUGSYM/S,MS=MONAMSYM/S,AI=ASMINFO/S,R=RUN/S,NW=NOWARN/S
    

    FROM is the project name with or without '.dpr' extension.
    ALL will compile all files from the project, also files which weren't changed.
    DEBUGSYM will compile files with debugging symbols.
    ASMINFO will compile files with 'dc ASMINFO' to make assembler sources better readable.
    RUN will execute compiled executable file.
    NOWARN will not show warnings.

  • Features
    If no ALL switch enabled, pc will compare each object file and source file dates and if source file is younger, it will be compiled, if the source file is older than the object file it will be skipped and only linked.

  • History
    • 0.1 to 0.3 - I can't remember :P
    • 0.4 - rewritten from E to D, changed project file format, removed some bugs. Added error output. Added NOWARN switch. Removed MONAMSYM switch (now it is handled automaticaly)


  • Future
    • different names for source and object files
    • more options
    • gui
    • your ideas?


  • Project file
    Each project file MUST start with string 'PowerD Project v1' on the first line (this is case dependent). PC recognizes also comments leading with // or bounded with /* and */. All object files should be introduced with OBJ or OBJECT keywords (case independent). Object files must be defined with .o extension and it's sources must have the same name with extension .d. Path can be entered both relative (//obj/obj.o) and absolute (src:obj/obj.o). All library files should be introduced with LIB keyword. Then You can define also startup (header) file with HEAD or HEADER or STARTUP keyword. If none of these keywords found, default startup file (d:lib/startup.o) will be used instead. And finally You MUST define output executable file name via one of EXE, OUT and OUTPUT keywords.

  • Example
      PowerD Project v1
    
      // main source file:
      obj='src:draw.o'
    
      // rest objects:
      obj='src:gfx/drawmesh.o'
      obj='src:io/loadmesh.o'
    
      // executeble file:
      exe='src:draw'
    

    Let's call this file 'project.dpr' then You can enter:
      pc project run
    

    then files 'src:draw.d', 'src:gfx/drawmesh.d', 'src:io/loadmesh.d' will be compiled if needed. These files will be linked together with 'd:lib/startup.o' header and 'd:lib/powerd_fpu.lib' library into the 'src:draw' executable. This file will be launched.