home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / com / utils / elm / sources / makefile < prev    next >
Makefile  |  1992-10-04  |  4KB  |  132 lines

  1. #
  2. #  Makefile for the Elm system utilities for OS/2
  3. #
  4.  
  5. default:
  6.     @echo "Make target msc, gcc or ibm."
  7.  
  8. msc:
  9.     $(MAKE) all CC="cl -nologo -AL -Gs -Ocegt" O=".obj" \
  10.     CFLAGS="-W1 -Zep1 -Gt16 -D__STDC__ -G2 -J" \
  11.     LFLAGS="-Lp -F 8000" LIBS="..\os2\elm.def -link /noe /packc /packd"
  12.  
  13. gcc:
  14.     $(MAKE) all CC="gcc -O -Zomf -Zmt" O=".obj" \
  15.     CFLAGS="" LFLAGS="" LIBS="../os2/elm.def -los2"
  16.  
  17. # Variables
  18.  
  19. INCLDIR        = ../hdrs
  20. OS2DIR        = ../os2
  21. DEFINES        = -DOS2 -I$(INCLDIR) -I$(OS2DIR)
  22. RM        = rm -f
  23. TOUCH        = touch
  24.  
  25. # Lists
  26.  
  27. BINARY_LIST    = answer.exe arepdaemon.exe autoreply.exe fastmail.exe \
  28.     from.exe listalias.exe newalias.exe newmail.exe readmsg.exe
  29.  
  30. OS2_OBJ        = getopt$O os2util$O
  31. UTIL_OBJ    = answer$O arepdaem$O autoreply$O expand$O \
  32.     fastmail$O from$O listalias$O newalias$O newmail$O readmsg$O \
  33.     opt_utils$O string2$O validname$O errno$O
  34.  
  35. # Lists of source and object files for each C program
  36.  
  37. ANSWER_OBJ    = answer$O opt_utils$O string2$O os2util$O
  38. AREPDAEMON_OBJ    = arepdaem$O opt_utils$O errno$O os2util$O
  39. AUTOREPLY_OBJ    = autoreply$O opt_utils$O os2util$O
  40. FASTMAIL_OBJ    = fastmail$O opt_utils$O getopt$O os2util$O
  41. FRM_OBJ        = from$O expand$O opt_utils$O string2$O getopt$O os2util$O
  42. LISTALIAS_OBJ    = listalias$O os2util$O
  43. NEWALIAS_OBJ    = newalias$O validname$O opt_utils$O string2$O os2util$O
  44. NEWMAIL_OBJ    = newmail$O expand$O opt_utils$O string2$O getopt$O os2util$O
  45. READMSG_OBJ    = readmsg$O expand$O opt_utils$O string2$O getopt$O os2util$O
  46.  
  47. # Standard targets
  48.  
  49. all:        objects $(BINARY_LIST)
  50.  
  51. #    This unusual target enables highly efficial compilation of object files
  52. #    on systems that have the parallel make feature.
  53.  
  54. objects:    $(UTIL_OBJ) $(OS2_OBJ)
  55.  
  56. clean:            
  57.         $(RM) $(UTIL_OBJ) $(BINARY_LIST)
  58.  
  59. # Dependencies and rules for compiling C programs
  60.  
  61. .c$O:
  62.         $(CC) $(CFLAGS) $(DEFINES) -c $<
  63.  
  64. # Dependencies and rules
  65.  
  66. .PRECIOUS:    $(INCLDIR)/defs.h $(INCLDIR)/elm.h $(INCLDIR)/headers.h
  67.  
  68. answer.exe:    $(ANSWER_OBJ)
  69.         $(CC) $(LFLAGS) -o $@ $(ANSWER_OBJ) $(LIBS)
  70.  
  71. arepdaemon.exe:    $(AREPDAEMON_OBJ)
  72.         $(CC) $(LFLAGS) -o $@ $(AREPDAEMON_OBJ) $(LIBS)
  73.  
  74. autoreply.exe:    $(AUTOREPLY_OBJ)
  75.         $(CC) $(LFLAGS) -o $@ $(AUTOREPLY_OBJ) $(LIBS)
  76.  
  77. fastmail.exe:    $(FASTMAIL_OBJ)
  78.         $(CC) $(LFLAGS) -o $@ $(FASTMAIL_OBJ) $(LIBS)
  79.  
  80. from.exe:    $(FRM_OBJ)
  81.         $(CC) $(LFLAGS) -o $@ $(FRM_OBJ) $(LIBS)
  82.  
  83. listalias.exe:    $(LISTALIAS_OBJ)
  84.         $(CC) $(LFLAGS) -o $@ $(LISTALIAS_OBJ) $(LIBS)
  85.  
  86. newalias.exe:    $(NEWALIAS_OBJ)
  87.         $(CC) $(LFLAGS) -o $@ $(NEWALIAS_OBJ) $(LIBS)
  88.  
  89. newmail.exe:    $(NEWMAIL_OBJ)
  90.         $(CC) $(LFLAGS) -o $@ $(NEWMAIL_OBJ) $(LIBS)
  91.  
  92. readmsg.exe:    $(READMSG_OBJ)
  93.         $(CC) $(LFLAGS) -o $@ $(READMSG_OBJ) $(LIBS)
  94.  
  95. # Dependencies of header files upon other header files they include
  96.  
  97. $(INCLDIR)/defs.h:    $(INCLDIR)/../config.h $(INCLDIR)/sysdefs.h
  98.             $(TOUCH) $@
  99.  
  100. $(INCLDIR)/elm.h:    $(INCLDIR)/curses.h $(INCLDIR)/defs.h
  101.             $(TOUCH) $@
  102.  
  103. $(INCLDIR)/headers.h:    $(INCLDIR)/curses.h $(INCLDIR)/defs.h
  104.             $(TOUCH) $@
  105.  
  106. # Dependencies of C object files
  107.  
  108. answer$O:    $(INCLDIR)/defs.h
  109. arepdaem$O:    $(INCLDIR)/defs.h
  110. autoreply$O:    $(INCLDIR)/defs.h
  111. expand$O:    $(INCLDIR)/defs.h
  112. fastmail$O:    $(INCLDIR)/defs.h $(INCLDIR)/patchlevel.h
  113. from$O:        $(INCLDIR)/defs.h
  114. listalias$O:    $(INCLDIR)/defs.h $(INCLDIR)/sysdefs.h
  115. newalias$O:    $(INCLDIR)/defs.h $(INCLDIR)/sysdefs.h
  116. newmail$O:    $(INCLDIR)/defs.h
  117. readmsg$O:    $(INCLDIR)/defs.h
  118.  
  119. errno$O:    ../src/errno.c $(INCLDIR)/headers.h
  120.         $(CC) $(CFLAGS) $(DEFINES) -c ../src/errno.c
  121. opt_utils$O:    ../src/opt_utils.c $(INCLDIR)/headers.h
  122.         $(CC) $(CFLAGS) $(DEFINES) -c ../src/opt_utils.c
  123. string2$O:    ../src/string2.c $(INCLDIR)/headers.h
  124.         $(CC) $(CFLAGS) $(DEFINES) -c ../src/string2.c
  125. validname$O:    ../src/validname.c $(INCLDIR)/headers.h
  126.         $(CC) $(CFLAGS) $(DEFINES) -c ../src/validname.c
  127.  
  128. getopt$O:    $(OS2DIR)/getopt.c
  129.         $(CC) $(CFLAGS) $(DEFINES) -c $(OS2DIR)/getopt.c
  130. os2util$O:    $(OS2DIR)/os2util.c
  131.         $(CC) $(CFLAGS) $(DEFINES) -c $(OS2DIR)/os2util.c
  132.