home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / lib / libnet / Makefile < prev    next >
Encoding:
Makefile  |  1998-04-08  |  5.1 KB  |  202 lines

  1. #!gmake
  2. #
  3. # The contents of this file are subject to the Netscape Public License
  4. # Version 1.0 (the "NPL"); you may not use this file except in
  5. # compliance with the NPL.  You may obtain a copy of the NPL at
  6. # http://www.mozilla.org/NPL/
  7. #
  8. # Software distributed under the NPL is distributed on an "AS IS" basis,
  9. # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10. # for the specific language governing rights and limitations under the
  11. # NPL.
  12. #
  13. # The Initial Developer of this code under the NPL is Netscape
  14. # Communications Corporation.  Portions created by Netscape are
  15. # Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16. # Reserved.
  17.  
  18. DEPTH            = ../..
  19.  
  20. MODULE            = net
  21. LIBRARY_NAME        = net
  22.  
  23. CSRCS            = cvactive.c \
  24.               cvcolor.c \
  25.               cvdisk.c \
  26.               cvextcon.c \
  27.               cvproxy.c \
  28.               cvsimple.c \
  29.               cvview.c \
  30.               cvchunk.c \
  31.               extcache.c \
  32.               mkaccess.c \
  33.               mkdaturl.c \
  34.               mkformat.c \
  35.               mkfsort.c \
  36.               mkgopher.c \
  37.               mkhelp.c \
  38.               mkinit.c \
  39.               mkjscfg.c \
  40.               mkmocha.c \
  41.               mkparse.c \
  42.               mkremote.c \
  43.               mkselect.c \
  44.               mksockrw.c \
  45.               mksort.c \
  46.               mkstream.c \
  47.               mktrace.c \
  48.               mkpadpac.c \
  49.               txview.c \
  50.               jscookie.c \
  51.               cvmime.c \
  52.               cvunzip.c \
  53.               mkautocf.c \
  54.               mkcache.c \
  55.               mkconect.c \
  56.               mkextcac.c \
  57.               mkfile.c \
  58.               mkftp.c \
  59.               mkgeturl.c \
  60.               mkhttp.c \
  61.               mkmemcac.c \
  62.               mkmessag.c \
  63.               mkutils.c \
  64.               prefetch.c \
  65.               $(NULL)
  66.  
  67. CPPSRCS            = mkmarimb.cpp
  68.  
  69. REQUIRES        = netcast parse js dbm nspr security htmldlgs ldap softupdt \
  70.               img util jtools layer pref java libfont lay style applet \
  71.               zlib li msg progress
  72.  
  73. EXPORTS            = extcache.h \
  74.               mkutils.h \
  75.               mkselect.h \
  76.               mkaccess.h \
  77.               mkautocf.h \
  78.               mkcache.h \
  79.               mkformat.h \
  80.               mkgeturl.h \
  81.               mkhelp.h \
  82.               mkstream.h \
  83.               mktcp.h \
  84.               mktrace.h \
  85.               mkpadpac.h \
  86.               mkmarimb.h \
  87.               mkparse.h \
  88.               $(NULL)
  89.  
  90. include $(DEPTH)/config/config.mk
  91.  
  92. ifdef MOZ_MAIL_NEWS
  93. CSRCS            += \
  94.               mkcertld.c \
  95.               imap4url.c \
  96.               mkmailbx.c \
  97.               mknews.c \
  98.               mknewsgr.c \
  99.               mkpop3.c \
  100.               mksmtp.c \
  101.               prefetch.c \
  102.               $(NULL)
  103.  
  104. CPPSRCS            += imaphier.cpp \
  105.               imapearl.cpp \
  106.               mkimap4.cpp \
  107.               mkldap.cpp \
  108.               imappars.cpp \
  109.               imapbody.cpp \
  110.               mkabook.cpp \
  111.               $(NULL)
  112. endif
  113.  
  114. ifndef NO_UNIX_ASYNC_DNS
  115. CSRCS            += unix-dns.c
  116. endif
  117.  
  118. include $(DEPTH)/config/rules.mk
  119.  
  120. DEFINES            += -DNEW_DECODERS
  121.  
  122. ifndef NO_UNIX_ASYNC_DNS
  123. DEFINES            += -DUNIX_ASYNC_DNS
  124. endif
  125.  
  126. ifndef NO_UNIX_LDAP
  127. INCLUDES        += -I$(DIST)/include
  128. DEFINES            += -DLIBNET_LDAP
  129. endif
  130.  
  131. #
  132. # This converts mime.types to C source code,
  133. #  and also to an HTML table that shows what's in it.
  134. #
  135. MIME_TYPES        = ./mime.types
  136. MIME_TYPES_UNIX        = ./mime.types-unix
  137. MIME_TYPES_NONUNIX    = ./mime.types-nonunix
  138. AD2C            = sh $(DEPTH)/cmd/xfe/ad2c
  139.  
  140. #
  141. # Workaround for a SCO compiler bug.
  142. #
  143. # If mkutils.c is compiled optimized, password authorization
  144. # always fails.  Probably due to NET_UUEncode routine.
  145. #
  146. # We could try using GCC 2.7.x instead, since that is the first
  147. # version that can produce SCO ELF binaries.
  148. #
  149. ifeq ($(OS_ARCH),SCOOS)
  150. SCO_OPT_FIX        = -O0
  151. endif
  152.  
  153. $(OBJDIR)/mkformat.o: mkformat.c mktypes.h
  154.  
  155. $(LIBRARY): $(OBJS)
  156.  
  157. $(OBJDIR)/mkutils.o $(OBJDIR)/LITE_mkutils.o: mkutils.c
  158.     @$(MAKE_OBJDIR)
  159.     $(CC) -o $@ -c $(CFLAGS) $(SCO_OPT_FIX) $<
  160.  
  161.  
  162. mktypes.h: $(MIME_TYPES) $(MIME_TYPES_UNIX) $(MIME_TYPES_NONUNIX)
  163.     rm -f $@
  164.     @echo "generating $@ from $<..."            ; \
  165.      (echo '/* Generated file - do not edit! */'        ; \
  166.       echo ''                        ; \
  167.       cat $(MIME_TYPES) | grep -v '^#' | $(AD2C)        ; \
  168.       echo ''                        ; \
  169.       echo '#ifdef XP_UNIX'                    ; \
  170.       cat $(MIME_TYPES_UNIX) | grep -v '^#' | $(AD2C)    ; \
  171.       echo '#else  /* !XP_UNIX */'                ; \
  172.       cat $(MIME_TYPES_NONUNIX) | grep -v '^#' | $(AD2C)    ; \
  173.       echo '#endif /* !XP_UNIX */'                ; \
  174.      ) > $@
  175.  
  176. mime-types.html: $(MIME_TYPES) $(MIME_TYPES_UNIX)
  177.     rm -f $@
  178.     @echo "generating $@ from $<..."                ; \
  179.      (echo '<TITLE>Netscape MIME Types</TITLE>'            ; \
  180.       echo '<H1 ALIGN=CENTER>Netscape MIME Types</H1>'        ; \
  181.       echo '<CENTER>'                        ; \
  182.       echo '<TABLE BORDER CELLSPACING=0 CELLPADDING=5>'        ; \
  183.       echo '<TR><TH></TH><TH>Content Type:</TH>'            ; \
  184.       echo '<TH>Extensions:</TH><TH>Description:</TH></TR>'        ; \
  185.       echo '<TR></TR><TR></TR><TR></TR>'    ; \
  186.       cat $(MIME_TYPES) $(MIME_TYPES_UNIX) | grep -v '^#' |           \
  187.       sed  's@exts="\([^"]*\)"[     ]*[\]*@<TR><TD><TT>\1</TT></TD>@;  \
  188.         s@desc="\([^"]*\)"[     ]*[\]*@<TD>\1</TD>@;           \
  189.         s@enc=\([^     ]*\)[     ]*[\]*$$@<TD>encoding/\1</TD>@;       \
  190.         s@type=\([^     ]*\)[     ]*[\]*$$@<TD>\1</TD>@;           \
  191.         s@icon=\([^     ]*\)[     ]*[\]*$$@<TD><IMG SRC=\1></TD></TR>@'\
  192.       | sed 's/,/ /g'                          \
  193.       | awk '{if ( $$0 ~ /^<TR/ ) {printf "%s" , $$0}          \
  194.           else {printf "%s\n" , $$0} }'                  \
  195.       | sed 's@\(<TR>\)\(<TD>.*</TD>\)\(<TD>.*</TD>\)\(<TD>.*</TD>\)\(<TD>.*</TD>\)\(</TR>\)$$@\1\5!\3!\2!\4\6@' \
  196.       | tr '!' '\012'                          \
  197.       | sed 's@<TD></TD>@<TD>\ </TD>@'                ; \
  198.       echo '</TABLE>'                        ; \
  199.       echo '</CENTER>'                        ; \
  200.      ) > $@
  201.  
  202.