home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / octa21fb.zip / octave / PATOS2.ZIP / makeconf.os2 < prev    next >
Text File  |  1999-05-13  |  2KB  |  100 lines

  1. # Common configuration rules for all of octave's Makefiles.
  2. # Modified by Klaus Gebhardt, 1994 - 1996
  3.  
  4. include i:/project/C/makeversions
  5.  
  6. MSTDIR  = $(CDIR)/octave-$(OCTBETAVER)
  7. ORIGDIR = $(ORGDIR)/octave-$(OCTBETAVER).orig
  8. INSDIR  = $(OCTDIR)
  9.  
  10. CONFIG_FILE = $(MSTDIR)/config.emx
  11.  
  12. MKFLAGS = -f makefile.os2
  13. MAKE = make $(MKFLAGS)
  14.  
  15. OFLAGS = -m486 -mieee-fp -O3 \
  16.      -malign-loops=2 -malign-jumps=2 -malign-functions=2
  17.  
  18. OOFLAGS = -fno-rtti -s
  19.  
  20. IFLAGS = -I$(MSTDIR)/src -I$(MSTDIR)/liboctave -I.
  21. CFLAGS = $(OFLAGS) -DEMX09C -DOS2 -include $(CONFIG_FILE)
  22. CC = gcc $(CFLAGS) $(IFLAGS)
  23.  
  24. F2CFLAGS = -A -a
  25. F2C = f2c $(F2CFLAGS)
  26.  
  27. FFLAGS = $(OFLAGS)
  28. G77 = gcc $(FFLAGS) $(IFLAGS)
  29.  
  30. AR = ar
  31. ARFLAGS = r
  32. RANLIB = $(AR) s
  33.  
  34. YACC = bison
  35. YFLAGS = -yd
  36.  
  37. LEX = flex
  38. LFLAGS = -t 
  39.  
  40. # Cancel default rule for .c from .y and make .cc from .y instead.
  41.  
  42. %.c : %.y
  43.  
  44. %.cc : %.y
  45.     $(YACC) $(YFLAGS) $<
  46.     mv y.tab.c $(@F)
  47.  
  48. # Likewise for .c from .l.
  49.  
  50. %.c : %.l
  51.  
  52. %.cc : %.l
  53.     $(LEX) $(LFLAGS) $< > $(@F)
  54.  
  55.  
  56. %.df : %.cc
  57.     @echo making $@ from $<
  58.     @$(CPP) $(CFLAGS) -c -s -DMAKE_BUILTINS $< | mkdefs > $@
  59.  
  60. %.o   : %.cc ; $(CC) $(OOFLAGS) -c $< -o $@
  61. %.o   : %.c  ; $(CC) -c $< -o $@
  62. %.obj : %.cc ; $(CC) $(OOFLAGS) -c $< -o $@ -Zomf
  63. %.obj : %.c  ; $(CC) -c $< -o $@ -Zomf
  64.  
  65.  
  66. # Compiling the fortran code:
  67.  
  68. ifeq ($(FORTRAN),USE_G77)
  69. %.o   : %.f ; $(G77) -c $< -o $@
  70. %.obj : %.f ; $(G77) -c $< -o $@ -Zomf
  71. else
  72. %.o : %.f
  73.     $(F2C) -d$(TEMPDIR) $<
  74.     $(CC) -c $(TEMPDIR)/$(patsubst %.f,%.c,$<) -o $@
  75.     @rm -f $(TEMPDIR)/$(patsubst %.f,%.c,$<)
  76.  
  77. %.obj : %.f
  78.     $(F2C) -d$(TEMPDIR) $<
  79.     $(CC) -c $(TEMPDIR)/$(patsubst %.f,%.c,$<) -o $@ -Zomf
  80.     @rm -f $(TEMPDIR)/$(patsubst %.f,%.c,$<)
  81. endif
  82.  
  83.  
  84. # OS/2 rules:
  85.  
  86. %.res : %.rc
  87.     rc -r $<
  88.  
  89. %.lib : %.def
  90.     emximp -o $(patsubst %.def,%.imp,$<) $<
  91.     emximp -o $@ $(patsubst %.def,%.imp,$<)
  92.     @rm -f $(patsubst %.def,%.imp,$<)
  93.  
  94. %.a   : %.def
  95.     emximp -o $(patsubst %.def,%.imp,$<) $<
  96.     emximp -o $@ $(patsubst %.def,%.imp,$<)
  97.     @rm -f $(patsubst %.def,%.imp,$<)
  98.  
  99. %.lib : %.a ; emxomf -s -l $<
  100.