Pristine Ack-5.5
[Ack-5.5.git] / lang / m2 / comp / proto.main
1 # $Id: proto.main,v 1.3 1997/04/01 13:56:31 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)/libinput.$(LIBSUF) \
24                 $(LIBDIR)/libassert.$(LIBSUF) \
25                 $(LIBDIR)/liballoc.$(LIBSUF) \
26                 $(MALLOC) \
27                 $(LIBDIR)/libflt.$(LIBSUF) \
28                 $(LIBDIR)/libprint.$(LIBSUF) \
29                 $(LIBDIR)/libstring.$(LIBSUF) \
30                 $(LIBDIR)/libsystem.$(LIBSUF)
31
32 LIBS =          $(EMLIB) $(MODLIB)
33
34 LINTLIBS =      $(LINTLIBDIR)/$(LINTPREF)em_mes.$(LINTSUF) \
35                 $(LINTLIBDIR)/$(LINTPREF)emk.$(LINTSUF) \
36                 $(LINTLIBDIR)/$(LINTPREF)input.$(LINTSUF) \
37                 $(LINTLIBDIR)/$(LINTPREF)assert.$(LINTSUF) \
38                 $(LINTLIBDIR)/$(LINTPREF)alloc.$(LINTSUF) \
39                 $(LINTLIBDIR)/$(LINTPREF)flt.$(LINTSUF) \
40                 $(LINTLIBDIR)/$(LINTPREF)print.$(LINTSUF) \
41                 $(LINTLIBDIR)/$(LINTPREF)string.$(LINTSUF) \
42                 $(LINTLIBDIR)/$(LINTPREF)system.$(LINTSUF)
43
44 PROFILE =
45 INCLUDES =      -I. -I$(SRC_DIR) -I$(TARGET_HOME)/modules/h -I$(TARGET_HOME)/h -I$(TARGET_HOME)/modules/pkg
46 CFLAGS =        $(PROFILE) $(INCLUDES) $(COPTIONS)
47 LINTFLAGS =     $(INCLUDES) $(LINTOPTIONS)
48 LDFLAGS =       $(PROFILE) $(LDOPTIONS)
49
50 # C_SRC and OBJ should be set here.
51 #LISTS          do not remove this line!
52
53 all:            main
54
55 clean:
56                 rm -f *.$(SUF) main
57
58 lint:
59                 $(LINT) $(LINTFLAGS) $(C_SRC) $(LINTLIBS)
60
61 main:           $(OBJ)
62                 $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o main
63
64 # do not remove the next line; it is used for generating dependencies
65 #DEPENDENCIES