Cs240 dick steflik
Download
1 / 9

Software Development - PowerPoint PPT Presentation


  • 254 Views
  • Updated On :

CS240 Dick Steflik. Software Development. Make. “make” is a software engineering tool for managing and maintaining computer programs Help minimize the life cycle cost of developing and maintaining computer software Descriptor file Name: “makefile” // POT (Plain Old Text) ‏

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Software Development' - LionelDale


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cs240 dick steflik l.jpg

CS240

Dick Steflik

Software Development


Slide2 l.jpg
Make

  • “make” is a software engineering tool for managing and maintaining computer programs

    • Help minimize the life cycle cost of developing and maintaining computer software

  • Descriptor file

    • Name: “makefile” // POT (Plain Old Text)‏

    • Defines job steps and what the dependencies for that job step are .

      • Also the actual command for accomplishing that job step


Makefile descriptor file l.jpg
makefile descriptor file

  • Made up of :

    • Macro definitions

      • For doing text substitutions

      • $(name) – to invoke

    • Comments (start with a # character

    • Dependency rule:

      • Target (one or more) : dependencies (zero or more) ;

        • Name of the file to be created

        • : (reqd character)‏

        • Dependencies – space delimited list of files reqd for this step

      • One or more commands (must start with a tab character)‏


Sample makefile l.jpg
Sample makefile

prog.exe : prog.c bag.o bag.c

gcc prog.c bag.o -oprog.exe

bag.o : bag.c bag.h

gcc bag.c -c


Using make l.jpg
Using make

  • In the directory where your files are place the descriptor file with the name makefile

    • No file extension

  • At the command prompt enter make

    • make will go through the descriptor file checking dependencies, insuring that the most recent files are included and any intermediate files are recompiled if their time/date stamps are more recent than the current time/date stamps on the dependent files


Version control systems l.jpg
Version Control Systems

  • Used on multi programmer projects to insure that developers don't accidentally destroy each other's changes

  • Like a library: each user has to check files in and out, systems prevents one person from saving their changes to a file on top of another person's changes

    • System enforces safe controls

    • Changes are saves as a sequence of add, delets and modifications to a base file, not as complete files


Slide7 l.jpg
CVS

  • Concurrent Versioning System

  • Oldest of the version control systems

    • Open Source

  • Client-server architecture

    • Originally developed for UNIX

      • Ported to Windows NT

  • Each time a file is checked in, user is required to enter a description of what was done

  • Commandline and GUI based client programs are available.


Visual sourcesafe l.jpg
Visual SourceSafe

  • Originally developed by One Tree Software

    • Original name was Delta

  • Acquired by Microsoft and rebranded as Visual SourceSafe (1994)‏

  • Integrates with most Microsoft software development products

  • Not Client Server based


Subversion l.jpg
Subversion

  • Open Source version control system

  • Circa 2000, goal is to be the preferred successor to CVS

  • Widely used in the Open Source community for version control on projects like Apache, KDE, Gnome, gcc, python, ruby, Mono...

  • Client-server architecture

  • Commandline and GUI clients available for most OS environments.


ad