proto.main 1.7 KB

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