5 Pages

lecture07

Course: CS 3308, Fall 2004
School: Colorado
Rating:
 
 
 
 
 

Word Count: 966

Document Preview

Lecture Todays Lecture 7: Make Macros Kenneth M. Anderson Software Methods and Tools CSCI 3308 - Fall Semester, 2004 Brief review of make Explore make macros in more detail Note: when you see macro think variable Brooks Corner: The Mythical Man-Month but firsta quick look at Ant (a build management tool for Java programs) September 13, 2004 University of Colorado, 2004 2 Unix Build Management In Unix...

Register Now

Unformatted Document Excerpt

Coursehero >> Colorado >> Colorado >> CS 3308

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Lecture Todays Lecture 7: Make Macros Kenneth M. Anderson Software Methods and Tools CSCI 3308 - Fall Semester, 2004 Brief review of make Explore make macros in more detail Note: when you see macro think variable Brooks Corner: The Mythical Man-Month but firsta quick look at Ant (a build management tool for Java programs) September 13, 2004 University of Colorado, 2004 2 Unix Build Management In Unix environments, a common build management tool is make Make provides very powerful capabilities via three types of specification styles declarative imperative relational Make Specification Language Hybrid Declarative/Imperative/Relational Dependencies are Relational Make specifies dependencies between artifacts Rules are Declarative Make specifies rules for creating new artifacts Actions are Imperative Make specifies actions to carry out rules These styles are combined into one specification: the make file September 13, 2004 University of Colorado, 2004 3 September 13, 2004 University of Colorado, 2004 4 Example Makefile T1: T2 T3 T4 A1 A2 A3 { Target Dependencies Make Macros - think Variables Make has variables known as macros They are similar to shell variables with a few differences Macros hold a string value Macros are defined using an equal sign Rules { T2: T5 T6 A4 T3: T5 T7 A5 A6 { Actions INSTALLDIR = /home/faculty/kena/tmp/ And is used by preceding its name with a dollar sign $(INSTALLDIR)/program : program cp program $(INSTALLDIR) Tab Character (required) If a dependency changes, a rules actions are executed to (re)create a rules target September 13, 2004 University of Colorado, 2004 5 The parentheses are required, otherwise make assumes that a macro name is just one letter long $INSTALLDIR is interpreted by make as $(I)NSTALLDIR September 13, 2004 University of Colorado, 2004 6 Macro Substitution Make variables perform strict textual replacement so the following two rules are equivalent (Do not do this in practice!): program: output.o g++ output.o -o program Using a $ sign Since the dollar sign has special meaning it indicates the use of a macro you need to escape it with a 2nd dollar sign, if you want it passed to the shell as part of an action Note: make strips one of the dollar signs before invoking a shell to process the action FOO = o pr$(FOO)gram: $(FOO)utput.$(FOO) g++ $(FOO)utput.$(FOO) -$(FOO) pr$(FOO)gram Example: chapter$ is passed to egrep below TableOfContents: book.txt egrep chapter$$ book.txt > TableOfContents September 13, 2004 University of Colorado, 2004 7 September 13, 2004 University of Colorado, 2004 8 Increased Abstraction Macros increase the level of abstraction in a Makefile program: main.o input.o output.o g++ main.o input.o output.o -o program Increased Abstraction, cont. Why is this increase in abstraction important? What benefit does abstraction typically provide? is equivalent to EXECUTABLE = program OBJECTS = main.o input.o output.o $(EXECUTABLE): $(OBJECTS) g++ $(OBJECTS) -o $(EXECUTABLE) Definition of Abstraction Identify the important aspect of a phenomenon and ignore the details They can also save keystrokes September 13, 2004 University of Colorado, 2004 9 September 13, 2004 University of Colorado, 2004 10 Increased Abstraction, cont. Allows the user of an abstraction to be independent of the hidden details This allows the details to change without user a knowing about it (or caring) Definition and Use of Make Macros A shell script is executed from top to bottom. As such, a shell variable cannot be used before it is defined. Makefiles, on the other hand, are not executed top to bottom. Execution follows dependencies which can be anywhere in the file As such, there is no concept of one rule coming before or after another rule Therefore, all rules and macros are read entirely before the make algorithm is executed In makefiles, abstraction lets rules be defined that can be applied to many different situations $(EXECUTABLE): $(OBJECTS) g++ $(OBJECTS) -o $(EXECUTABLE) The above rule can be applied to almost any C++ or C program September 13, 2004 University of Colorado, 2004 11 September 13, 2004 University of Colorado, 2004 12 Definition and Use, continued Shell Variables %echo $var %set var = hello Advanced Macro Use BASEDIR SRCDIR ARCHDIR BUILDDIR BINDIR MANDIR SOURCE OBJECT EXEC = = = = = = = = = $(HOME)/csci3308 $(BASEDIR)/src/function $(BASEDIR)/arch/$(ARCH) $(ARCHDIR)/build/function $(ARCHDIR)/bin $(ARCHDIR)/man function.cpp function.o function Make Macros all: echo $(VAR) In response to the first statement, the shell complains undefined variable VAR = hello Running make on the above makefile produces echo hello hello $(BUILDDIR)/$(OBJECT): $(SRCDIR)/$(SOURCE) g++ -c $(SRCDIR)/$(SOURCE) -o $(BUILDDIR)/$(OBJECT) $(BINDIR)/$(EXEC): $(BUILDDIR)/$(OBJECT) g++ $(BUILDDIR)/$(OBJECT) -o $(BINDIR)/$(EXEC) September 13, 2004 University of Colorado, 2004 13 September 13, 2004 University of Colorado, 2004 14 Brooks Corner: The Mythical Man-Month (Chapter 2) Cost does indeed vary as the product of the number of workers and the number of months Progress does not! The unit of the man-month implies that workers and months are interchangeable However, this is only true when a task can be partitioned among many workers with no communication among them! The Man-Month, continued When a task is sequential, more effort has no effect on the schedule The bearing of a child takes nine months, no matter how many women are assigned! Many tasks in software engineering have sequential constraints! September 13, 2004 University of Colorado, 2004 15 September 13, 2004 University of Colorado, 2004 16 The Man-Month, continued Most tasks require communication among workers communication consists of training sharing information (intercommunication) Intercommunication Effort 2 workers 3 4 5 6 7 1 path 3 paths 6 paths 10 paths 15 paths 21 paths Training affects effort at worst linearly Intercommunication adds n(n-1)/2 to effort if each worker must communicate with every other worker September 13, 2004 University of Colorado, 2004 17 September 13, 2004 University of Colorado, 2004 18 Comparison Graphs Adding more people then lengthens, not shortens, the schedule! -- (A paraphrase of) Brooks Law Scheduling Brooks rule of thumb 1/3 planning 1/6 coding 1/4 component test 1/4 system test In looking at other projects, Brooks found that few planned for 50% testing, but most spent 50% of their time testing! Many of these projects were on schedule until testing began! Months no communication September 13, 2004 with communication Workers 19 More time devoted to planning, half to testing! September 13, 2004 University of Colorado, 2004 University of Colorado, 2004 20
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Colorado - CULTER - 06
CU Mountain006 Research StationWinter 2 Ecology
Colorado - ASTR - 5770
New InflationAmy Bender 05/03/2006Inflation Basics Perturbations from quantum fluctuations of scalar field Fluctuations are: Gaussian Scale Invariant Spectrum (almost) k3P(k) ~ constant Adiabatic Scalar & Tensor Matter/radiation anisotrop
Colorado - ASTR - 5770
HST Key Project on the Extragalactic Distance ScalePresentation by Alaine Ginocchio May 5, 2006HST Key ProjectMeasuring an accurate value of H0 was one of the motivating reasons for building NASA/ESA Hubble Space Telescope (HST).Measurement
Colorado - ASTR - 5770
Holographic Dark EnergyPreety Sidhu 5 May 2006Black Holes and Entropy Black holes are maximal entropy objects Entropy of a black hole proportional to surface area of event horizon Max entropy for volume of space goes as bounding surface area, n
Colorado - ASTR - 5770
The Sunyaev-Zeldovich EffectJason Glenn APSHistorical Perspective Physics of the SZ Effect -Previous Observations & Results Bolocam Imminent Experiments Future Work ReferencesCMB discovered in 1964 by Penzias and Wilson COBE 1989: perfect blackbo
Wisconsin - CS - 0601
Proximal Plane ClassificationKDD 2001 San Francisco August 26-29, 2001Glenn Fung & Olvi MangasarianData Mining InstituteUniversity of Wisconsin - Madison Second Annual Review June 1, 2001Key ContributionsFast new support vector machine class
Wisconsin - REV - 0601
Proximal Plane ClassificationKDD 2001 San Francisco August 26-29, 2001Glenn Fung & Olvi MangasarianData Mining InstituteUniversity of Wisconsin - Madison Second Annual Review June 1, 2001Key ContributionsFast new support vector machine class
St. Johns River Community College - CS - 0601
Proximal Plane ClassificationKDD 2001 San Francisco August 26-29, 2001Glenn Fung & Olvi MangasarianData Mining InstituteUniversity of Wisconsin - Madison Second Annual Review June 1, 2001Key ContributionsFast new support vector machine class
Wisconsin - CS - 0600
Concave Minimization for Support Vector Machine ClassifiersUnlabeled Data Classification & Data SelectionGlenn Fung O. L. MangasarianPart 1: Unlabeled Data Classifications ssssGiven a large unlabeled dataset Use a k-Median clustering al
Wisconsin - REV - 0600
Concave Minimization for Support Vector Machine ClassifiersUnlabeled Data Classification & Data SelectionGlenn Fung O. L. MangasarianPart 1: Unlabeled Data Classifications ssssGiven a large unlabeled dataset Use a k-Median clustering al
St. Johns River Community College - CS - 0600
Concave Minimization for Support Vector Machine ClassifiersUnlabeled Data Classification & Data SelectionGlenn Fung O. L. MangasarianPart 1: Unlabeled Data Classifications ssssGiven a large unlabeled dataset Use a k-Median clustering al
Wisconsin - ECE - 756
Linear Programming and CPLEXTing-Yuan Wang Advisor: Charlie C. ChenDepartment of Electrical and Computer Engineering University of Wisconsin-MadisonFeb. 22 2000CPLEX Optimization Options: Primal, Dual Simplex Methods Network Flow Problems MI
St. Johns River Community College - ECE - 756
Linear Programming and CPLEXTing-Yuan Wang Advisor: Charlie C. ChenDepartment of Electrical and Computer Engineering University of Wisconsin-MadisonFeb. 22 2000CPLEX Optimization Options: Primal, Dual Simplex Methods Network Flow Problems MI
Wisconsin - ECE - 03
Artifact and Textured region Detection- Vishal BangardOutline Need for artifact and textured region detection Aim of the project Techniques used in the imaging world Approaches used Results ConclusionWhy do artifact detection ? A lot of
Wisconsin - ECE - 738
Artifact and Textured region Detection- Vishal BangardOutline Need for artifact and textured region detection Aim of the project Techniques used in the imaging world Approaches used Results ConclusionWhy do artifact detection ? A lot of
St. Johns River Community College - ECE - 03
Artifact and Textured region Detection- Vishal BangardOutline Need for artifact and textured region detection Aim of the project Techniques used in the imaging world Approaches used Results ConclusionWhy do artifact detection ? A lot of
St. Johns River Community College - ECE - 738
Artifact and Textured region Detection- Vishal BangardOutline Need for artifact and textured region detection Aim of the project Techniques used in the imaging world Approaches used Results ConclusionWhy do artifact detection ? A lot of
Wisconsin - ECE - 03
Unequal Error Protection for Video Transmission over Wireless ChannelsECE738 Project PresentationChang, Hong Hong 05/09/20031OutlineUnequal Error Protection/ Unequal Loss Protection Problem Formulation Channel Model RS code Theoretical Res
Wisconsin - ECE - 738
Unequal Error Protection for Video Transmission over Wireless ChannelsECE738 Project PresentationChang, Hong Hong 05/09/20031OutlineUnequal Error Protection/ Unequal Loss Protection Problem Formulation Channel Model RS code Theoretical Res
St. Johns River Community College - ECE - 03
Unequal Error Protection for Video Transmission over Wireless ChannelsECE738 Project PresentationChang, Hong Hong 05/09/20031OutlineUnequal Error Protection/ Unequal Loss Protection Problem Formulation Channel Model RS code Theoretical Res
St. Johns River Community College - ECE - 738
Unequal Error Protection for Video Transmission over Wireless ChannelsECE738 Project PresentationChang, Hong Hong 05/09/20031OutlineUnequal Error Protection/ Unequal Loss Protection Problem Formulation Channel Model RS code Theoretical Res
Wisconsin - ECE - 03
Portraiture MorphingPresented by Fung, Chau-ha JeniceOutline Problem Statement Prior Art: Portraiture Morphing Approaches Results Conclusion Future WorksProblem Statement Image morphing = Image metamorhposis Creating a smooth transfor
Wisconsin - ECE - 738
Portraiture MorphingPresented by Fung, Chau-ha JeniceOutline Problem Statement Prior Art: Portraiture Morphing Approaches Results Conclusion Future WorksProblem Statement Image morphing = Image metamorhposis Creating a smooth transfor
St. Johns River Community College - ECE - 03
Portraiture MorphingPresented by Fung, Chau-ha JeniceOutline Problem Statement Prior Art: Portraiture Morphing Approaches Results Conclusion Future WorksProblem Statement Image morphing = Image metamorhposis Creating a smooth transfor
St. Johns River Community College - ECE - 738
Portraiture MorphingPresented by Fung, Chau-ha JeniceOutline Problem Statement Prior Art: Portraiture Morphing Approaches Results Conclusion Future WorksProblem Statement Image morphing = Image metamorhposis Creating a smooth transfor
Wisconsin - ECE - 03
ECE 738 ProjectBrain segmentation and Phase unwrapping in MRI dataJongHoon LeeOutline Nature of fast MRI: EPI & Field Inhomogeneity Background problem Image Distortion Specific problems a) Brain Segmentation b) Phase Unwrapping Goal Appro
Wisconsin - ECE - 738
ECE 738 ProjectBrain segmentation and Phase unwrapping in MRI dataJongHoon LeeOutline Nature of fast MRI: EPI & Field Inhomogeneity Background problem Image Distortion Specific problems a) Brain Segmentation b) Phase Unwrapping Goal Appro
St. Johns River Community College - ECE - 03
ECE 738 ProjectBrain segmentation and Phase unwrapping in MRI dataJongHoon LeeOutline Nature of fast MRI: EPI & Field Inhomogeneity Background problem Image Distortion Specific problems a) Brain Segmentation b) Phase Unwrapping Goal Appro
St. Johns River Community College - ECE - 738
ECE 738 ProjectBrain segmentation and Phase unwrapping in MRI dataJongHoon LeeOutline Nature of fast MRI: EPI & Field Inhomogeneity Background problem Image Distortion Specific problems a) Brain Segmentation b) Phase Unwrapping Goal Appro
Wisconsin - ECE - 03
ECE738 Presentation of Project SurveyA survey of image-based biometric identification methods: Face, finger print, iris, and othersPresented by: David LinOutline Problems and motivations Different identification methods Face Recognition Fing
Wisconsin - ECE - 738
ECE738 Presentation of Project SurveyA survey of image-based biometric identification methods: Face, finger print, iris, and othersPresented by: David LinOutline Problems and motivations Different identification methods Face Recognition Fing
St. Johns River Community College - ECE - 03
ECE738 Presentation of Project SurveyA survey of image-based biometric identification methods: Face, finger print, iris, and othersPresented by: David LinOutline Problems and motivations Different identification methods Face Recognition Fing
St. Johns River Community College - ECE - 738
ECE738 Presentation of Project SurveyA survey of image-based biometric identification methods: Face, finger print, iris, and othersPresented by: David LinOutline Problems and motivations Different identification methods Face Recognition Fing
Wisconsin - ECE - 03
A survey of Face Recognition TechnologyWei-Yang Lin May 07, 2003Road Map Introduction Challenge in Face Recognition variation in pose Variation in illumination Some recently works in FRT DiscussionIntroduction FRT is a research area span
Wisconsin - ECE - 738
A survey of Face Recognition TechnologyWei-Yang Lin May 07, 2003Road Map Introduction Challenge in Face Recognition variation in pose Variation in illumination Some recently works in FRT DiscussionIntroduction FRT is a research area span
St. Johns River Community College - ECE - 03
A survey of Face Recognition TechnologyWei-Yang Lin May 07, 2003Road Map Introduction Challenge in Face Recognition variation in pose Variation in illumination Some recently works in FRT DiscussionIntroduction FRT is a research area span
St. Johns River Community College - ECE - 738
A survey of Face Recognition TechnologyWei-Yang Lin May 07, 2003Road Map Introduction Challenge in Face Recognition variation in pose Variation in illumination Some recently works in FRT DiscussionIntroduction FRT is a research area span
Wisconsin - ECE - 03
Medical Image Registration: A SurveyAiming LuOutline Introduction Transformation Algorithms Visualization Validation ConclusionIntroduction Image registration matching two images so that corresponding coordinate points in the two images
Wisconsin - ECE - 738
Medical Image Registration: A SurveyAiming LuOutline Introduction Transformation Algorithms Visualization Validation ConclusionIntroduction Image registration matching two images so that corresponding coordinate points in the two images
St. Johns River Community College - ECE - 03
Medical Image Registration: A SurveyAiming LuOutline Introduction Transformation Algorithms Visualization Validation ConclusionIntroduction Image registration matching two images so that corresponding coordinate points in the two images
St. Johns River Community College - ECE - 738
Medical Image Registration: A SurveyAiming LuOutline Introduction Transformation Algorithms Visualization Validation ConclusionIntroduction Image registration matching two images so that corresponding coordinate points in the two images
Wisconsin - ECE - 03
Detecting Artifacts and Textures in Wavelet Coded ImagesRajas A. Sambhare ECE 738, Spring 2003 Final ProjectJanuary 12, 2009Motivation Wavelet based image coders like JPEG 2000 lead to new types of artifacts when used at small bit-rates Bloc
Wisconsin - ECE - 738
Detecting Artifacts and Textures in Wavelet Coded ImagesRajas A. Sambhare ECE 738, Spring 2003 Final ProjectJanuary 12, 2009Motivation Wavelet based image coders like JPEG 2000 lead to new types of artifacts when used at small bit-rates Bloc
St. Johns River Community College - ECE - 03
Detecting Artifacts and Textures in Wavelet Coded ImagesRajas A. Sambhare ECE 738, Spring 2003 Final ProjectJanuary 12, 2009Motivation Wavelet based image coders like JPEG 2000 lead to new types of artifacts when used at small bit-rates Bloc
St. Johns River Community College - ECE - 738
Detecting Artifacts and Textures in Wavelet Coded ImagesRajas A. Sambhare ECE 738, Spring 2003 Final ProjectJanuary 12, 2009Motivation Wavelet based image coders like JPEG 2000 lead to new types of artifacts when used at small bit-rates Bloc
Wisconsin - ECE - 03
MPEG2 FGS ImplementationECE 738 Advanced Digital Image ProcessingAuthor: Deshan Yang05/01/2003Introduction of FGSFGS = fine granularity scalability For MPEG2 / MPEG4 and others Comparing to SNR, temporal, spatial scalability, FGS enhances vi
Wisconsin - ECE - 738
MPEG2 FGS ImplementationECE 738 Advanced Digital Image ProcessingAuthor: Deshan Yang05/01/2003Introduction of FGSFGS = fine granularity scalability For MPEG2 / MPEG4 and others Comparing to SNR, temporal, spatial scalability, FGS enhances vi
St. Johns River Community College - ECE - 03
MPEG2 FGS ImplementationECE 738 Advanced Digital Image ProcessingAuthor: Deshan Yang05/01/2003Introduction of FGSFGS = fine granularity scalability For MPEG2 / MPEG4 and others Comparing to SNR, temporal, spatial scalability, FGS enhances vi
St. Johns River Community College - ECE - 738
MPEG2 FGS ImplementationECE 738 Advanced Digital Image ProcessingAuthor: Deshan Yang05/01/2003Introduction of FGSFGS = fine granularity scalability For MPEG2 / MPEG4 and others Comparing to SNR, temporal, spatial scalability, FGS enhances vi
Wisconsin - ECE - 539
Using Clustering to Make Prediction Intervals For Neural NetworksClaus Benjaminsen ECE539 - final project fall 2005What is a prediction interval? Aninterval within which the true target value is predicted to be Prediction intervals are often
St. Johns River Community College - ECE - 539
Using Clustering to Make Prediction Intervals For Neural NetworksClaus Benjaminsen ECE539 - final project fall 2005What is a prediction interval? Aninterval within which the true target value is predicted to be Prediction intervals are often
Wisconsin - ECE - 539
Music ClassificationUsing Neural Networks Craig Dennis ECE 539Problem and Motivation Peoplehave hundreds of MP3s and other digital music files unclassified on their computer iTunes and other large digital music stores must classify thousands o
St. Johns River Community College - ECE - 539
Music ClassificationUsing Neural Networks Craig Dennis ECE 539Problem and Motivation Peoplehave hundreds of MP3s and other digital music files unclassified on their computer iTunes and other large digital music stores must classify thousands o
Wisconsin - ECE - 539
Determining College Football RankingsWith ClusteringWhere do we start? Look for statistics on the web This keeps data up to date smoother updates. Determine good statistic set Dont want too many so that data is redundant Dont want too few
St. Johns River Community College - ECE - 539
Determining College Football RankingsWith ClusteringWhere do we start? Look for statistics on the web This keeps data up to date smoother updates. Determine good statistic set Dont want too many so that data is redundant Dont want too few
Wisconsin - ECE - 539
Predicting the Winner of an NFL Football GameMatt Gray CS/ECE 539Reasons to Predict NFL Football is watched by millions of people every weekend during the season. Vast amounts of money invested in NFL Football Prediction Polls such as Weekly Fo
St. Johns River Community College - ECE - 539
Predicting the Winner of an NFL Football GameMatt Gray CS/ECE 539Reasons to Predict NFL Football is watched by millions of people every weekend during the season. Vast amounts of money invested in NFL Football Prediction Polls such as Weekly Fo
Wisconsin - ECE - 539
Who Cares About the Arts?Predicting Formal Arts Participation from Survey DataAngela Han ECE 539 December 2005Project Objective Applypattern classifier neural network to arts marketing survey data Use neural network as a predictive model to i
St. Johns River Community College - ECE - 539
Who Cares About the Arts?Predicting Formal Arts Participation from Survey DataAngela Han ECE 539 December 2005Project Objective Applypattern classifier neural network to arts marketing survey data Use neural network as a predictive model to i
Wisconsin - ECE - 539
Prediction of Voting Patterns Based on Census and Demographic DataAnalysis Performed by: Mike He ECE 539, Fall 2005Abstract Prediction of Voting Patterns in 2004Presidential Election Multi-Layer Perceptron, Back-Propagation Based on Demographi
St. Johns River Community College - ECE - 539
Prediction of Voting Patterns Based on Census and Demographic DataAnalysis Performed by: Mike He ECE 539, Fall 2005Abstract Prediction of Voting Patterns in 2004Presidential Election Multi-Layer Perceptron, Back-Propagation Based on Demographi