#### # # This is a sample Makefile template for building projects in a Fisher project # directory structure using the InterViews GUI toolkit. Search for "CHANGE # HERE" to see the places to make changes for a particular project. When # you've made the changes, remove the "CHANGE HERE" comments. Also, when # you've made all changes, remove this header comment and replace it with an # appropriate comment of your own, describing what the Makefile does. E.g., # "Makefile for building the X tool." # # For a concrete example of this Makefile, see the rolodex project Makefile in # # ../../rolodex/implementation/$(PLATFORM)/Makefile # # where PLATFORM is defined below. # # # # Model object files. N.A -- this is just a simple example. # MODEL_OBJS = # # View object files -- ditto. # VIEW_OBJS = # # Process object files. # MAIN_OBJS = main.o FuncButton.o MAIN_PLUS_OBJS = main+texted.o FuncButton.o MAIN2_OBJS = main2.o FuncButton.o MAIN3_OBJS = main3.o FuncButton.o VB_OBJS = vbox+perspective.o FuncButton.o # # All of the object files. # ALL_OBJS = $(MAIN_OBJS) $(MAIN2_OBJS0 $(MAIN3_OBJS) $(VB_OBJS) # # Relative paths to design and implementation directories. # DESIGN_DIR = ../../design IMPLE_DIR = .. # # Platform type. Use to specify what platform the make is on. At Cal Poly, # the following platform names are used: # # SUN4G: SUN4s galaxy and phoenix # SUN4K: SUN4 kdat # HP700: HP 700 cobra cluster # HP400: HP 400 garden cluster # # Note that on kdat, the SUN4K directory may not always exists. If it does # not, the SUN4G directory holds the executables. This is because # galaxy/phoenix executables will run on kdat, but in order to make native on # kdat, a different makefile is need to accomodate differences between kdat # and galaxy, such as absolute file paths. # PLATFORM = SUN4G # # Paths to relevant root project directories # RELEASE = work PROJECTS_DIR = /home/phoenix/faculty1/gfisher/$(RELEASE) PROJECTS_INCLUDE_DIR = $(PROJECTS_DIR)/include PROJECTS_LIB_DIR = $(PROJECTS_DIR)/lib/$(PLATFORM) # # Paths to relevant projects/support directories for various support functions, # such as source code printing. # SUPPORT_DIR = $(PROJECTS_DIR)/support SUPPORT_DOC_DIR = $(SUPPORT_DIR)/documentation SUPPORT_ADMIN_DIR = $(SUPPORT_DIR)/administration # # Paths to the relevant directories of the InterViews GUI toolkit # IV_DIR = $(PROJECTS_DIR)/interviews IV_INCLUDE_DIR = $(IV_DIR)/design IV_LIB_DIR = $(IV_DIR)/implementation/libInterViews/$(PLATFORM) IV_LIB_GRAPHICS_DIR = $(IV_DIR)/implementation/libgraphic/$(PLATFORM) # # InterViews libraries; the _g version is compiled with debugging on, so that # GUI library functions can be traced if necessary. # IV_LIBS = $(IV_LIB_DIR)/libInterViewsX11.a \ $(IV_LIB_GRAPHICS_DIR)/libgraphic.a IV_LIBS_g = $(IV_LIB_DIR)/libInterViewsX11-g.a \ $(IV_LIB_GRAPHICS_DIR)/libgraphic-g.a # # X Windows and other system libraries. # X_LIB = -lX11 # X Windows lib OTHER_LIBS = -lsupport \ -liv-local \ -lm \ -lgen # # Compilation flags and related definitions # CFLAGS = -c -g \ -I$(DESIGN_DIR) -I$(PROJECTS_INCLUDE_DIR) -I$(IV_INCLUDE_DIR) \ -Dgcc_2_6_3 -I ../../func-button LDFLAGS = -g -L/usr/openwin/lib -L$(PROJECTS_LIB_DIR) CC = g++ GCC = gcc LIBS = $(IV_LIBS) $(X_LIB) $(OTHER_LIBS) LIBS_g = $(IV_LIBS_g) $(X_LIB) $(OTHER_LIBS) DEPEND_SRCS = $(IMPLE_DIR)/*.C DEPEND_FLAGS = -I$(DESIGN_DIR) -I$(PROJECTS_INCLUDE_DIR) -I$(IV_INCLUDE_DIR) \ -Dgcc_2_6_3 \ -I/opt/gnu/include/g++ -I/opt/gnu/sparc-sun-solaris2.6/include # # Default definition to make. # default: main main3 # # Build a complete tool. # # CHANGE HERE by changing "main" to the name of the executable # file for your tool # main: $(MAIN_OBJS) $(CC) $(LDFLAGS) $(MAIN_OBJS) $(LIBS_g) -o main main3: $(MAIN3_OBJS) $(CC) $(LDFLAGS) $(MAIN3_OBJS) $(LIBS_g) -o main3 main+: $(MAIN_PLUS_OBJS) $(CC) $(LDFLAGS) $(MAIN_PLUS_OBJS) $(LIBS_g) -o main+ vb: $(VB_OBJS) $(CC) $(LDFLAGS) $(VB_OBJS) $(LIBS_g) -o vb # # Build the design only, which means just compile the .h files, all of which # are included in compile-stub.C. # design: $(CC) $(CFLAGS) $(DESIGN_DIR)/compile-stub.C # # CHANGE HERE by adding additional make rules, e.g., for building stubbed-out # testing versions of the tool. See the rolodex project Makefile for an # example. # # # Generic pattern rules to make all implemenation files. # %.o: $(IMPLE_DIR)/%.C $(CC) $(CFLAGS) $< %.E: $(IMPLE_DIR)/%.C $(CC) -E $(CFLAGS) $< > $*.E # # Delete all object files. # # CHANGE HERE by changing "main" to the name of the executable # file for your tool # clean: rm -f *.o main main+ main3 # # Generate dependencies using makedepend. # depend: $(DEPEND_SRCS) makedepend $(DEPEND_FLAGS) $? # # Generate printable PostScript output for source files. Format is two-column # 7 point courier font in landscape page layout. # print: print_design print_implementation # # CHANGE HERE by changing "main" to the name of the executable # file for your tool # print_design: csh -f -c "cd $(DESIGN_DIR); \ $(SUPPORT_DOC_DIR)/codeprint2.csh \ ../documentation/formatted-code \ main/design \ *.h" # # CHANGE HERE by changing "main" to the name of the executable # file for your tool # print_implementation: csh -f -c "cd $(IMPLE_DIR); \ $(SUPPORT_DOC_DIR)/codeprint2.csh \ ../documentation/formatted-code \ main/implementation \ *.C" # DO NOT DELETE THIS LINE -- make depend depends on it. ../FuncButton.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/event.h ../FuncButton.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/defs.h ../FuncButton.o: /usr/include/sys/types.h /usr/include/sys/feature_tests.h ../FuncButton.o: /usr/include/sys/isa_defs.h /usr/include/sys/machtypes.h ../FuncButton.o: /usr/include/sys/int_types.h /usr/include/sys/select.h ../FuncButton.o: /usr/include/sys/time.h /usr/include/sys/time.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/adjuster.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/interactor.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/defs.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/border.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/box.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scene.h ../main+texted.o: ../funcbutton.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/button.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/subject.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/resource.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/frame.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/message.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scroller.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/shape.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/textbuffer.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/texteditor.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/tray.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/viewport.h ../main+texted.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/world.h ../main+texted.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h ../main+texted.o: /usr/include/sys/va_list.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/adjuster.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/interactor.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/defs.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/border.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/box.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scene.h ../main.o: ../funcbutton.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/button.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/subject.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/resource.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/message.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scroller.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/shape.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/tray.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/viewport.h ../main.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/world.h ../main.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h ../main.o: /usr/include/sys/va_list.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/adjuster.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/interactor.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/defs.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/border.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/box.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scene.h ../main2.o: ../funcbutton.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/button.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/subject.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/resource.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/message.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scroller.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/shape.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/tray.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/viewport.h ../main2.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/world.h ../main2.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h ../main2.o: /usr/include/sys/va_list.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/adjuster.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/interactor.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/defs.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/border.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/box.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scene.h ../main3.o: ../funcbutton.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/button.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/subject.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/resource.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/message.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scroller.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/shape.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/tray.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/viewport.h ../main3.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/world.h ../main3.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h ../main3.o: /usr/include/sys/va_list.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/adjuster.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/interactor.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/defs.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/border.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/box.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scene.h ../vbox+perspective.o: ../funcbutton.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/button.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/subject.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/resource.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/message.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/perspective.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/scroller.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/shape.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/tray.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/viewport.h ../vbox+perspective.o: /home/phoenix/faculty1/gfisher/work/include/InterViews/world.h ../vbox+perspective.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h ../vbox+perspective.o: /usr/include/sys/va_list.h