home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 April / PCO0499.ISO / filesbbs / os2 / apach134.arj / APACH134.ZIP / src / Makefile.tmpl < prev    next >
Encoding:
Makefile  |  1999-01-06  |  4.1 KB  |  125 lines

  1.  
  2. CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
  3. LIBS=$(EXTRA_LIBS) $(LIBS1)
  4. INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
  5. LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
  6.  
  7. OBJS= \
  8.   modules.o \
  9.   $(MODULES) \
  10.   main/libmain.a \
  11.   $(OSDIR)/libos.a \
  12.   ap/libap.a
  13.  
  14. .c.o:
  15.     $(CC) -c $(INCLUDES) $(CFLAGS) $<
  16.  
  17. all: @@Configuration@@ $(TARGET)
  18.  
  19. @@Configuration@@: Configuration.tmpl
  20.     @echo "++ File '@@Configuration@@' older than 'Configuration.tmpl',"
  21.     @echo "++ or still doesn't exist. Please consider copying 'Configuration.tmpl'"
  22.     @echo "++ to '@@Configuration@@', editing and rerunning 'Configure'."
  23.     @echo "++ If not, you will at least have to touch '@@Configuration@@'."
  24.     @false
  25.  
  26. $(TARGET): $(EXTRA_DEPS) $(SUBTARGET)
  27.  
  28. target_static: subdirs modules.o
  29.     $(CC) -c $(INCLUDES) $(CFLAGS) buildmark.c
  30.     $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
  31.           -o $(TARGET) buildmark.o $(OBJS) $(REGLIB) $(LIBS)
  32.  
  33. target_compile_only: subdirs modules.o
  34.     $(CC) -c $(INCLUDES) $(CFLAGS) buildmark.c
  35.  
  36. target_shared: lib$(TARGET).ep
  37.     $(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
  38.           -o $(TARGET) -DSHARED_CORE_BOOTSTRAP main/http_main.c
  39.  
  40. lib$(TARGET).ep: lib$(TARGET).$(SHLIB_SUFFIX_NAME)
  41.     $(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
  42.           -o lib$(TARGET).ep -DSHARED_CORE_TIESTATIC main/http_main.c \
  43.           -L. -l$(TARGET) $(LIBS)
  44.  
  45. lib$(TARGET).$(SHLIB_SUFFIX_NAME): subdirs modules.o
  46.     $(CC) -c $(INCLUDES) $(CFLAGS) buildmark.c
  47.     $(LD_SHLIB) $(LDFLAGS_SHLIB) -o lib$(TARGET).$(SHLIB_SUFFIX_NAME) buildmark.o $(OBJS) $(REGLIB)
  48.     @if [ ".$(SHLIB_SUFFIX_LIST)" != . ]; then \
  49.         rm -f lib$(TARGET).$(SHLIB_SUFFIX_NAME).*; \
  50.         for suffix in $(SHLIB_SUFFIX_LIST) ""; do \
  51.             [ ".$$suffix" = . ] && continue; \
  52.             echo "ln lib$(TARGET).$(SHLIB_SUFFIX_NAME) lib$(TARGET).$(SHLIB_SUFFIX_NAME).$$suffix"; \
  53.             ln lib$(TARGET).$(SHLIB_SUFFIX_NAME) lib$(TARGET).$(SHLIB_SUFFIX_NAME).$$suffix; \
  54.         done; \
  55.     fi
  56.  
  57. subdirs:
  58.     @for i in $(SUBDIRS); do \
  59.         echo "===> $(SDP)$$i"; \
  60.         ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)') || exit 1; \
  61.         echo "<=== $(SDP)$$i"; \
  62.     done
  63.  
  64. support: support-dir
  65.  
  66. support-dir:
  67.     @echo "===> $(SDP)support"; \
  68.     cd support; $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)'; \
  69.     echo "<=== $(SDP)support"
  70.  
  71. clean:
  72.     -rm -f $(TARGET) lib$(TARGET).* *.o
  73.     @for i in $(SUBDIRS); do \
  74.         echo "===> $(SDP)$$i"; \
  75.         ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' $@ ) || exit 1; \
  76.         echo "<=== $(SDP)$$i"; \
  77.     done
  78.  
  79. distclean:
  80.     -rm -f $(TARGET) lib$(TARGET).* *.o
  81.     @for i in $(SUBDIRS); do \
  82.         echo "===> $(SDP)$$i"; \
  83.         ( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' $@ ) || exit 1; \
  84.         echo "<=== $(SDP)$$i"; \
  85.     done
  86.     -rm -f include/ap_config_auto.h
  87.     -rm -f modules.c
  88.     -rm -f modules/Makefile
  89.     -rm -f regex/Makefile
  90.     -rm -f Makefile.config
  91.     -rm -f Makefile
  92.  
  93. install:
  94.     @echo "++ Sorry, no installation procedure available at this level."
  95.     @echo "++ Go to the parent directory for an 'install' target."
  96.  
  97. # We really don't expect end users to use this rule.  It works only with
  98. # gcc, and rebuilds Makefile.tmpl.  You have to re-run Configure after
  99. # using it.
  100. depend:
  101.     cp Makefile.tmpl Makefile.tmpl.bak \
  102.         && sed -ne '1,/^# DO NOT REMOVE/p' Makefile.tmpl > Makefile.new \
  103.         && gcc -MM $(INCLUDES) $(CFLAGS) *.c >> Makefile.new \
  104.         && sed -e '1,$$s: $(INCDIR)/: $$(INCDIR)/:g' \
  105.                -e '1,$$s: $(OSDIR)/: $$(OSDIR)/:g' Makefile.new \
  106.         > Makefile.tmpl \
  107.         && rm Makefile.new
  108.     for i in $(SUBDIRS); do \
  109.         ( cd $$i && $(MAKE) CC='$(CC)' AUX_CFLAGS='$(CFLAGS)' RANLIB='$(RANLIB)' depend ) || exit 1; \
  110.     done
  111.  
  112. #Dependencies
  113.  
  114. $(OBJS): Makefile subdirs
  115.  
  116. # DO NOT REMOVE
  117. buildmark.o: buildmark.c include/ap_config.h include/ap_mmn.h \
  118.  include/ap_config_auto.h os/unix/os.h include/ap_ctype.h \
  119.  include/hsregex.h include/httpd.h include/alloc.h include/buff.h \
  120.  include/ap.h include/util_uri.h
  121. modules.o: modules.c include/httpd.h include/ap_config.h \
  122.  include/ap_mmn.h include/ap_config_auto.h os/unix/os.h \
  123.  include/ap_ctype.h include/hsregex.h include/alloc.h include/buff.h \
  124.  include/ap.h include/util_uri.h include/http_config.h
  125.