home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 6 File / 06-File.zip / WHICH100.ZIP / makefile.os2 < prev    next >
Makefile  |  1993-03-12  |  4KB  |  159 lines

  1. # Makefile for which                                       11 March 1993
  2. #
  3. # - for Microsoft C under OS/2 1.x (16-bit), version 6.00 or higher
  4. # - for IBM C/C++ Set/2 under OS/2 2.0 (32-bit)
  5. # - for Watcom C/386 under OS/2 2.0 (32-bit), version 9.0 or higher
  6. # - for GNU gcc (emx kit) under OS/2 2.0 (32-bit), version 0.8e or higher
  7. # - for Borland C++ beta (TOPAZ)
  8. #
  9. # To use, enter "{d,n}make -f makefile.os2" (this makefile depends on its
  10. # name being "makefile.os2").
  11. #
  12. # Notes on Microsoft C 6.00 compilation:
  13. #   The resulting programs can be used under OS/2 1.x or 2.x
  14. #   protected mode only, not under DOS.  A larger stack has to
  15. #   be used for OS/2 because system calls use more stack than
  16. #   under DOS; 8k is recommended by Microsoft.
  17. #
  18. # Notes on IBM C Set/2, Watcom C/386, Borland C++ or gcc compilation:
  19. #   The resulting programs can be used under OS/2 protected
  20. #   mode of OS/2 2.0 only, not under 1.x and not under DOS.
  21.  
  22. default:
  23.     @echo "Enter $(MAKE) -f makefile.os2 target"
  24.     @echo "where target is one of:"
  25.     @echo "   msc mscdos ibm ibmdyn ibmprof ibmdebug"
  26.     @echo "   watcom gcc gccdyn gccdebug borland"
  27.  
  28. # crosscompilation for MS-DOS with MS C 6.00
  29. mscdos:
  30.     $(MAKE) -f makefile.os2 all \
  31.     CC="cl -nologo -AS -Oaict -Gs $(FP)" \
  32.     CFLAGS="-Zp1" \
  33.     LDFLAGS="-F 2000 -Lr -Fe" \
  34.     LDFLAGS2="-link /noe /exe" \
  35.     OUT="-Fo" \
  36.     OBJ=".obj"
  37.  
  38. # MS C 6.00 for OS/2, 16-bit
  39. msc:
  40.     $(MAKE) -f makefile.os2 all \
  41.     CC="cl -nologo -AS -Ocegit -Gs $(FP)" \
  42.     CFLAGS="-G2 -Zp1 -DOS2 -DMSC" \
  43.     LDFLAGS="-F 2000 -Lp -Fe" \
  44.     LDFLAGS2="-link /noe /pm:vio" \
  45.     OUT="-Fo" \
  46.     OBJ=".obj" \
  47.     DEF="which.def"
  48.  
  49. # IBM C Set/2, statically linked runtime
  50. ibm:
  51.     $(MAKE) -f makefile.os2 all \
  52.     CC="icc -Q -O -Gs" \
  53.     CFLAGS="-Sm -Sp1 -DOS2" \
  54.     LDFLAGS="-Fe" \
  55.     LDFLAGS2="" \
  56.     OUT="-Fo" \
  57.     OBJ=".obj" \
  58.     DEF="which.def"
  59.  
  60. # IBM C Set/2, dynamically linked runtime
  61. ibmdyn:
  62.     $(MAKE) -f makefile.os2 all \
  63.     CC="icc -Q -O -Gs -Gd" \
  64.     CFLAGS="-Sm -Sp1 -DOS2" \
  65.     LDFLAGS="-Fe" \
  66.     LDFLAGS2="" \
  67.     OUT="-Fo" \
  68.     OBJ=".obj" \
  69.     DEF="which.def"
  70.  
  71. # IBM C Set/2, debug version
  72. ibmdebug:
  73.     $(MAKE) -f makefile.os2 all \
  74.     CC="icc -Q -Ti" \
  75.     CFLAGS="-Sm -Sp1 -D__DEBUG_ALLOC__ -DOS2" \
  76.     LDFLAGS="-Fe" \
  77.     LDFLAGS2="" \
  78.     OUT="-Fo" \
  79.     OBJ=".obj" \
  80.     DEF="which.def"
  81.  
  82. # IBM C Set/2, profiling version for PROFIT
  83. ibmprof:
  84.     $(MAKE) -f makefile.os2 all \
  85.     CC="icc -Q -O -Gs -Gh -Ti" \
  86.     CFLAGS="-Sm -Sp1 -DOS2" \
  87.     LDFLAGS="-Fe" \
  88.     LDFLAGS2="profit.obj" \
  89.     OUT="-Fo" \
  90.     OBJ=".obj" \
  91.     DEF="which.def"
  92.  
  93. # Watcom C/386 9.0
  94. watcom:
  95.     $(MAKE) -f makefile.os2 all \
  96.     CC="wcl386 -zq -Ox -s" \
  97.     CFLAGS="-Zp1 -DOS2" \
  98.     LDFLAGS="-k0x40000 -x -Fe=" \
  99.     LDFLAGS2="" \
  100.     OUT="-Fo" \
  101.     OBJ=".obj" \
  102.     DEF=""
  103.  
  104. # Borland C++ beta (TOPAZ)
  105. borland:
  106.     $(MAKE) -f makefile.os2 all \
  107.     CC="bcc -O" \
  108.     CFLAGS="-w- -DOS2" \
  109.     LDFLAGS="-e" \
  110.     LDFLAGS2="" \
  111.     OUT="-o" \
  112.     OBJ=".obj" \
  113.     DEF=""
  114.  
  115. # emx 0.8f, gcc, OMF format, statically linked C runtime and emx
  116. gcc:
  117.     $(MAKE) -f makefile.os2 all \
  118.     CC="gcc -Zomf -Zsys -O" \
  119.     CFLAGS="-DOS2" \
  120.     LDFLAGS="-o ./" \
  121.     LDFLAGS2="-s -los2" \
  122.     OUT="-o" \
  123.     OBJ=".obj" \
  124.     DEF="which.def"
  125.  
  126. # emx 0.8f, gcc, OMF format, dynamically linked C runtime and emx
  127. gccdyn:
  128.     $(MAKE) -f makefile.os2 all \
  129.     CC="gcc -Zomf -Zmt -O" \
  130.     CFLAGS="-DOS2" \
  131.     LDFLAGS="-o ./" \
  132.     LDFLAGS2="-s -los2" \
  133.     OUT="-o" \
  134.     OBJ=".obj" \
  135.     DEF="which.def"
  136.  
  137. # emx, gcc, a.out format, with debug info for gdb
  138. gccdebug:
  139.     $(MAKE) -f makefile.os2 all \
  140.     CC="gcc -g" \
  141.     CFLAGS="-DOS2" \
  142.     LDFLAGS="-o ./" \
  143.     LDFLAGS2="-los2" \
  144.     OUT="-o" \
  145.     OBJ=".o"
  146.  
  147. # variables
  148. OBJS  = which$(OBJ)
  149.  
  150. .c$(OBJ):
  151.     $(CC) $(CFLAGS) -c $<
  152.  
  153. all:    which.exe
  154.  
  155. which.exe: $(OBJS) $(DEF)
  156.     $(CC) $(LDFLAGS)$@ $(DEF) $(OBJS) $(LDFLAGS2)
  157.  
  158. which$(OBJ):    which.c
  159.