Pristine Ack-5.5
[Ack-5.5.git] / lang / occam / comp / proto.main
1 # $Id: proto.main,v 1.3 1997/04/01 13:58:58 ceriel Exp $
2
3 # C compilation part. Not to be called directly.
4 # Instead, it is to be called by the Makefile.
5 # SRC_DIR, UTIL_HOME, TARGET_HOME, CC, COPTIONS, LINT, LINTOPTIONS, LDOPTIONS,
6 # CC_AND_MKDEP, SUF, LIBSUF should be set here.
7
8 #PARAMS         do not remove this line!
9
10 # PRODUCE is either e (readable EM) or k (compact EM)
11 PRODUCE =       k
12
13 MDIR =          $(TARGET_HOME)/modules
14 LIBDIR =        $(MDIR)/lib
15 LINTLIBDIR =    $(UTIL_HOME)/modules/lib
16
17 MALLOC =        $(LIBDIR)/malloc.$(SUF)
18
19 EMLIB =         $(LIBDIR)/libem_mes.$(LIBSUF) \
20                 $(LIBDIR)/libem$(PRODUCE).$(LIBSUF) \
21                 $(TARGET_HOME)/lib.bin/em_data.$(LIBSUF)
22
23 MODLIB =        $(LIBDIR)/liballoc.$(LIBSUF) \
24                 $(MALLOC) \
25                 $(LIBDIR)/libprint.$(LIBSUF) \
26                 $(LIBDIR)/libstring.$(LIBSUF) \
27                 $(LIBDIR)/libsystem.$(LIBSUF)
28
29 LIBS =          $(EMLIB) $(MODLIB)
30
31 LINTLIBS =      $(LINTLIBDIR)/$(LINTPREF)em_mes.$(LINTSUF) \
32                 $(LINTLIBDIR)/$(LINTPREF)emk.$(LINTSUF) \
33                 $(LINTLIBDIR)/$(LINTPREF)alloc.$(LINTSUF) \
34                 $(LINTLIBDIR)/$(LINTPREF)print.$(LINTSUF) \
35                 $(LINTLIBDIR)/$(LINTPREF)string.$(LINTSUF) \
36                 $(LINTLIBDIR)/$(LINTPREF)system.$(LINTSUF)
37
38 PROFILE =
39 INCLUDES =      -I$(TARGET_HOME)/modules/h -I. -I$(SRC_DIR) -I$(TARGET_HOME)/h -I$(TARGET_HOME)/modules/pkg
40 CFLAGS =        $(PROFILE) $(INCLUDES) $(COPTIONS)
41 LINTFLAGS =     $(INCLUDES) $(LINTOPTIONS)
42 LDFLAGS =       $(PROFILE) $(LDOPTIONS)
43
44 # C_SRC and OBJ should be set here.
45 #LISTS          do not remove this line!
46
47 all:            main
48
49 clean:
50                 rm -f *.$(SUF) main
51
52 lint:
53                 $(LINT) $(LINTFLAGS) $(C_SRC) $(LINTLIBS)
54
55 main:           $(OBJ)
56                 $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o main
57
58 # do not remove the next line; it is used for generating dependencies
59 #DEPENDENCIES