home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gawk-2.15.6-base.tgz / gawk-2.15.6-base.tar / fsf / gawk / pc / Makefile.os2 < prev    next >
Makefile  |  1993-12-19  |  4KB  |  126 lines

  1. # Makefile for gawk (GNU awk)                                   17 Sep 1993
  2. #
  3. # - for GNU gcc (emx 0.8g kit) [executables for OS/2 2.x or DOS (32-bit)]
  4. # - for Microsoft C 6.00A      [executables for OS/2 or MSDOS (16-bit)]
  5. # - for Microsoft C 5.1        [executable for OS/2 or DOS (16-bit)]
  6.  
  7. # To use, enter "make -f Makefile.os2" (this makefile depends on its
  8. # name being "Makefile.os2").
  9. #
  10. # Tested with dmake 3.8 and GNU make 3.68 under OS/2
  11.  
  12. default:
  13.     @echo "Enter $(MAKE) -f Makefile.os2 target                     "
  14.     @echo " where 'target' is chosen from                          " 
  15.     @echo "   msc      OS/2 exe [Microsoft C 6.00a]                "
  16.     @echo "   mscbnd   OS/2 and DOS exe [Microsoft C 6.00a]        "
  17.     @echo "   mscdos   DOS exe [Microsoft C 6.00a]                 "
  18.     @echo "   msc51bnd OS/2 and DOS exe [Microsoft C 5.1]          "
  19.     @echo "   emx      OS/2 32-bit exe [EMX/gcc; uses emxlibc.dll] "
  20.     @echo "   emxbnd   OS/2 and DOS 32-bit exe [EMX/gcc]           "
  21.  
  22.  
  23. # stdargv, glob, and director are from Stewartson's sh. These provide
  24. # globbing and enhanced argument-passing. MSC setargv.obj is a 
  25. # more limited alternative (and it will permit a bound version).
  26.  
  27. #STDARGV = stdargv.obj glob.obj director.obj 
  28. STDARGV = setargv.obj
  29.  
  30. msc: 
  31.     $(MAKE) -f Makefile.os2 all \
  32.     CC="cl -nologo -AL" O=".obj" \
  33.     CFLAGS="-D__STDC__ -DOS2 -UMSDOS" \
  34.     OBJ2="" \
  35.     LFLAGS="-Lp" \
  36.     LFLAGS2="$(STDARGV) gawk.def -link /NOE /st:30000"
  37.  
  38. mscbnd: 
  39.     $(MAKE) -f Makefile.os2 all \
  40.     CC="cl -nologo -AL" O=".obj" \
  41.     CFLAGS="-D__STDC__ -DOS2" \
  42.     OBJ2="popen.obj" \
  43.     LFLAGS="-Lp" \
  44.     LFLAGS2="setargv.obj gawk.def -link /NOE /st:30000" \
  45.     BIND="bind gawk /n DOSMAKEPIPE DOSCWAIT"
  46.  
  47. msc-debug: 
  48.     $(MAKE) -f Makefile.os2 all \
  49.     CC="cl -nologo -AL" O=".obj" \
  50.     CFLAGS="-DOS2 -D__STDC__ -DDEBUG -DFUNC_TRACE -DMEMDEBUG -Zi -Od" \
  51.     OBJ2="popen.obj" \
  52.     LFLAGS="-Lp" \
  53.     LFLAGS2="$(STDARGV) gawk.def -link /CO /NOE /st:30000"
  54.  
  55. mscdos: 
  56.     $(MAKE) -f Makefile.os2 all \
  57.     CC="cl -nologo -AL" O=".obj" \
  58.     CFLAGS="-D__STDC__" \
  59.     OBJ2="popen.obj" \
  60.     LFLAGS="-Lr" \
  61.     LFLAGS2="$(STDARGV) -link /NOE /st:30000"
  62.  
  63. msc51bnd:
  64.     $(MAKE) -f Makefile.os2 all \
  65.     CC="cl -AL" O=".obj" \
  66.     CFLAGS="-DOS2 -D_MSC_VER=510" \
  67.     OBJ2="popen.obj" \
  68.     LFLAGS="-Lp -Fb" \
  69.     LFLAGS2="setargv.obj gawk.def -link /NOE /NOI /st:30000"
  70.     
  71. emx:  
  72.     $(MAKE) -f Makefile.os2 all \
  73.     CC="gcc -Zomf -Zmtd -O -s" O=".obj" \
  74.     CFLAGS="-DOS2" \
  75.     LFLAGS="" \
  76.     LFLAGS2="gawk-32.def"
  77.  
  78. emx-debug:
  79.     $(MAKE) -f Makefile.os2 all \
  80.     CC="gcc -g" O=".o" \
  81.     CFLAGS="-DOS2" \
  82.     LFLAGS="" \
  83.     LFLAGS2="gawk-32.def"
  84.  
  85. emxbnd:  
  86.     $(MAKE) -f Makefile.os2 all \
  87.     CC="gcc -O -s" O=".o" \
  88.     CFLAGS="-DOS2 -DMSDOS" \
  89.     OBJ2="popen.o" \
  90.     LFLAGS="" \
  91.     LFLAGS2="gawk-32.def"
  92.  
  93. AWKOBJS = main$O eval$O builtin$O msg$O iop$O io$O field$O array$O \
  94.     node$O version$O missing$O re$O
  95. ALLOBJS = $(AWKOBJS) awktab$O getid$O
  96. GNUOBJS= getopt$O getopt1$O regex$O dfa$O
  97.  
  98. .SUFFIXES: $O .c .y
  99.  
  100. .c$O:
  101.     $(CC) $(CFLAGS) -DGAWK -DHAVE_CONFIG_H -c $<
  102.  
  103. all: gawk.exe
  104.  
  105. gawk.exe: $(ALLOBJS) $(GNUOBJS) $(OBJ2)
  106.     $(CC) -o $@ $(LFLAGS) $(ALLOBJS) $(GNUOBJS) $(OBJ2) $(LFLAGS2)
  107.     $(BIND)
  108.  
  109. $(AWKOBJS): awk.h config.h
  110. dfa$O:    awk.h config.h dfa.h
  111. regex$O: awk.h config.h regex.h
  112. main$O: patchlevel.h
  113. awktab$O: awk.h awktab.c
  114.  
  115. awktab.c: awk.y
  116.     bison -o $@ awk.y
  117.  
  118. clean:
  119.     rm -f *.o *.obj core awk.output gmon.out make.out y.output
  120.  
  121. .PHONY: test
  122. test:
  123.     @echo Both dmake and GNU make require modifications to test/Makefile,
  124.     @echo but here we go...
  125.     cd test && $(MAKE) -k
  126.