"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "tutorial/SimpleSample/Makefile" of archive wipeout-tut-1.5.4.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    1 # Makefile for project: SimpleSample/.
    2 # Automatically created by WipeOut.
    3 
    4 # load platform dependent settings (compiler, flags, libs...)
    5 ARCH = $(shell uname -s)
    6 ifeq ($(ARCH), HP-UX)
    7 ARCH=HPUX
    8 endif
    9 include $(ARCH).def
   10 
   11 # load project include and library settings
   12 include Makefile.inc
   13 
   14 INC = $(PROJECT_INC) $(ARCH_INC)
   15 CPPFLAGS = $(DEF) $(OPT) $(INC) $(DEBUG) $(WARN)
   16 CFLAGS = $(DEF) $(OPT) $(INC) $(DEBUG) $(WARN)
   17 
   18 FORTRAN_FLAGS += $(INC)
   19 
   20 LDFLAGS = $(PROJECT_LIB) $(ARCH_LDFLAGS)
   21 LDLIBS = $(ARCH_LIB)
   22 
   23 # application name
   24 APP = SimpleSample
   25 
   26 # static library
   27 STATIC_LIB = libSimpleSample.a
   28 
   29 # shared library
   30 SHARED_LIB = libSimpleSample.so
   31 SHLIB_MAJOR = 0
   32 SHLIB_MINOR = 1
   33 SHLIB_VERSION = $(SHLIB_MAJOR).$(SHLIB_MINOR)
   34 
   35 SRCDIR =.
   36 OBJDIR = obj
   37 
   38 # extend this for other object files
   39 CLASSES = $(Java:%.java=%.class)
   40 OBJS = $(patsubst %.cc, $(OBJDIR)/%.o, $(filter %.cc, $(CPP_source)))
   41 OBJS += $(patsubst %.cpp, $(OBJDIR)/%.o, $(filter %.cpp, $(CPP_source)))
   42 OBJS += $(patsubst %.C, $(OBJDIR)/%.o, $(filter %.C, $(CPP_source)))
   43 OBJS += $(patsubst %.c, $(OBJDIR)/%.o, $(filter %.c, $(C_source)))
   44 SHOBJS += $(patsubst $(OBJDIR)/%.o, $(OBJDIR)/%.osh, $(OBJS))
   45 FOBJS = $(patsubst %.f, $(OBJDIR)/%.o, $(filter %.f, $(Fortran)))
   46 FOBJS += $(patsubst %.for, $(OBJDIR)/%.o, $(filter %.for, $(Fortran)))
   47 FOBJS += $(patsubst %.F, $(OBJDIR)/%.o, $(filter %.F, $(Fortran)))
   48 FOBJS += $(patsubst %.fpp, $(OBJDIR)/%.o, $(filter %.fpp, $(Fortran)))
   49 
   50 .SUFFIXES: .cc .cpp .C .c .l
   51 
   52 # implicit rules for *.o files from C++
   53 $(OBJDIR)/%.o : $(SRCDIR)/%.cc
   54 	$(CXX) -c $(CPPFLAGS) -o $@ $<
   55 $(OBJDIR)/%.o : $(SRCDIR)/%.cpp
   56 	$(CXX) -c $(CPPFLAGS) -o $@ $<
   57 $(OBJDIR)/%.o : $(SRCDIR)/%.C
   58 	$(CXX) -c $(CPPFLAGS) -o $@ $<
   59 
   60 # implicit rules for *.osh files from C++
   61 $(OBJDIR)/%.osh : $(SRCDIR)/%.cc
   62 	$(CXX) -c $(CPPFLAGS) $(PIC) -o $@ $<
   63 $(OBJDIR)/%.osh : $(SRCDIR)/%.cpp
   64 	$(CXX) -c $(CPPFLAGS) $(PIC) -o $@ $<
   65 $(OBJDIR)/%.osh : $(SRCDIR)/%.C
   66 	$(CXX) -c $(CPPFLAGS) $(PIC) -o $@ $<
   67 
   68 # implicit rules for *.o files from Fortran
   69 $(OBJDIR)/%.o : $(SRCDIR)/%.f
   70 	$(FORTRANC) -c $(FORTRAN_FLAGS) -o $@ $<
   71 $(OBJDIR)/%.o : $(SRCDIR)/%.for
   72 	$(FORTRANC) -c $(FORTRAN_FLAGS) -o $@ $<
   73 $(OBJDIR)/%.o : $(SRCDIR)/%.F
   74 	$(FORTRANC) -c $(FORTRAN_FLAGS) -o $@ $<
   75 $(OBJDIR)/%.o : $(SRCDIR)/%.fpp
   76 	$(FORTRANC) -c $(FORTRAN_FLAGS) -o $@ $<
   77 
   78 # other implicit rules
   79 $(OBJDIR)/%.o : $(SRCDIR)/%.c
   80 	$(CC) -c $(CFLAGS) -o $@ $<
   81 .l.c:
   82 	flex -t $< > $*.c
   83 %.class : $(SRCDIR)/%.java
   84 	$(JAVAC) $(JAVA_FLAGS) $<
   85 
   86 default: app
   87 
   88 # Simple Eiffel target.
   89 eiffel_debug:
   90 	$(EIFFEL_DEBUG_C) $(APP) $(APP) $(EIFFEL_DEBUG_FLAGS)
   91 eiffel:
   92 	$(EIFFELC) $(EIFFEL_FLAGS) -o $(APP) $(APP)
   93 
   94 # simple Java target
   95 java:
   96 	$(JAVAC) $(JAVA_FLAGS) $(Java)
   97 # target to make classes with guavac
   98 #java: $(CLASSES)
   99 
  100 java_all: java
  101 	$(foreach DIR, $(MAKE_DIRS), (cd $(DIR) && $(MAKE) java_all);)
  102 
  103 # builds an executable from the C++/Fortran object files
  104 app: $(OBJDIR) $(OBJS) $(FOBJS)
  105 	$(LINK) $(LDFLAGS) -o $(APP) $(OBJS) $(FOBJS) $(LDLIBS)
  106 
  107 app_all: app
  108 	$(foreach DIR, $(MAKE_DIRS), (cd $(DIR) && $(MAKE) app_all);)
  109 
  110 # builds a library from C++/Fortran object files
  111 static_lib: $(OBJDIR) $(OBJS) $(FOBJS)
  112 	$(AR) $(ARFLAGS) $(STATIC_LIB) $(OBJS)
  113 	$(RANLIB) $(STATIC_LIB)
  114 
  115 shared_lib: $(OBJDIR) $(SHOBJS)
  116 	$(SHARED_LINK) -o $(SHARED_LIB).$(SHLIB_VERSION) $(SHOBJS)
  117 	chmod a+x $(SHARED_LIB).$(SHLIB_VERSION)
  118 	ln -f -s $(SHARED_LIB).$(SHLIB_VERSION) $(SHARED_LIB)
  119 clean:
  120 	-rm -r obj*
  121 	-rm *.class
  122 clean_eiffel:
  123 	-rm -r B C *.c *.o $(APP)
  124 clean_all: clean
  125 	$(foreach DIR, $(MAKE_DIRS), (cd $(DIR) && $(MAKE) clean_all);)
  126 depend:
  127 	$(CC) -MM $(CPPFLAGS) $(CPP_source) $(C_source) > temp.dep
  128 	# makedepend -p$(OBJDIR) -- $(CPPFLAGS) -- $(SOURCES) -fMakefile.dep
  129 	sed -e "s/[-A-Za-z0-9_,]*\.o/\$$(OBJDIR)\/&/" temp.dep > Makefile.dep
  130 	sed -e "s/[-A-Za-z0-9_,]*\.o/\$$(OBJDIR)\/&sh/" temp.dep >> Makefile.dep
  131 	-rm -f temp.dep
  132 	# build dependencies with guavac
  133 	#guavac -M $(Java) >> Makefile.dep
  134 $(OBJDIR):
  135 	mkdir $(OBJDIR)
  136 
  137 -include Makefile.dep