home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / ash02emx.zip / Makefile.os2 < prev    next >
Makefile  |  1997-12-26  |  2KB  |  75 lines

  1. #    Makefile,v 1.7 1993/08/09 04:58:18 mycroft Exp
  2.  
  3. VERSION = 0.1
  4.  
  5. .SUFFIXES:
  6. .SUFFIXES: .c .o
  7.  
  8. .c.o:
  9.     $(CC) $(CFLAGS) -c $< -o $@
  10.  
  11. PROG=    sh$x
  12. SRCS=    builtins.c cd.c dirent.c bltin/echo.c error.c eval.c exec.c expand.c \
  13.     input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
  14.     mystring.c nodes.c options.c parser.c redir.c show.c \
  15.     syntax.c trap.c output.c var.c bltin/test.c
  16.  
  17. OBJ1 =    init.o
  18. OBJ2 =    builtins.o cd.o dirent.o bltin/echo.o error.o eval.o exec.o expand.o \
  19.     input.o jobs.o mail.o main.o memalloc.o miscbltin.o \
  20.     mystring.o nodes.o options.o parser.o redir.o show.o \
  21.     syntax.o trap.o output.o var.o bltin/test.o
  22.  
  23. OBJS =    $(OBJ1) $(OBJ2)
  24.  
  25. x = .exe
  26. o = .o
  27. CC = gcc
  28.  
  29. CFLAGS = -O -m486 -DSHELL
  30. LDFLAGS =  -s
  31. CLEANFILES =\
  32.     builtins.c builtins.h init.c mkinit$x mknodes$x mksyntax$x \
  33.     nodes.c nodes.h syntax.c syntax.h token.def
  34.  
  35. all:    $(OBJS)
  36.     $(CC) -o $(PROG) $(OBJS) $(LDFLAGS)
  37.  
  38. install: all
  39.     install sh /bin/ash
  40.     install -m 644 sh.1 /usr/man/man1/ash.1
  41.  
  42. parser.o: token.def
  43. token.def: mktokens
  44.     sh ./mktokens
  45.  
  46. builtins.h builtins.c: mkbuiltins builtins.
  47.     sh ./mkbuiltins
  48.  
  49. init.c: mkinit$x $(SRCS)
  50.     ./mkinit "${CC} -c $(CFLAGS) init.c" $(SRCS)
  51.     touch init.c
  52.  
  53. mkinit$x: mkinit.c
  54.     $(CC) $(CFLAGS) $(LDFLAGS) mkinit.c -o $@ $(LDADD)
  55.  
  56. nodes.c nodes.h: mknodes$x nodetypes nodes.c.pat
  57.     ./mknodes nodetypes nodes.c.pat
  58.  
  59. mknodes$x: mknodes.c
  60.     $(CC) $(CFLAGS) $(LDFLAGS) mknodes.c -o $@ $(LDADD)
  61.  
  62. syntax.c syntax.h: mksyntax$x
  63.     ./mksyntax
  64.  
  65. mksyntax$x: mksyntax.c parser.h
  66.     $(CC) $(CFLAGS) $(LDFLAGS) mksyntax.c -o $@ $(LDADD)
  67.  
  68. clean:
  69.     rm -f core $(CLEANFILES) $(PROG) $(OBJS)
  70.  
  71. dist:    all
  72.     echo ash-0.2 release $(VERSION) for emx > FILE_ID.DIZ
  73.     zip -r ASH02EMX.ZIP * -x $(CLEANFILES) *$o
  74.     rm -f FILE_ID.DIZ
  75.