1 # $Id: Makefile.generic,v 1.11 2003/11/22 13:03:39 edg Exp $
3 # Prototype System-Specific Makefile for NEdit
5 # NEdit does not use any kind of automated configuration like the popular GNU
6 # configure utility, or Imake. Instead, it has a set of hand-generated
7 # system-specific Makefiles. The Makefiles serve two purposes. The obvious
8 # purpose is to build NEdit. The less obvious purpose is to document on which
9 # systems effort has been put into verifying that NEdit actually works properly.
10 # If your system is not represented here, check the nedit web site at:
11 # http://nedit.org for more contributed Makefiles.
13 # NEdit has few dependencies, and sticks to Posix and ANSI C standards wherever
14 # possible. The only problems people generally run in to in porting NEdit are
15 # related to the Motif GUI library. If you're having trouble building NEdit,
16 # usually the best way to get it to work is to look at any other Motif, or at
17 # least X example which builds and runs successfully, and copy the compiler
18 # flags and libraries that it uses.
21 # C Compiler used to build all of the C sources. This must be an
22 # ANSI standard C compiler.
25 # Library (archive) tool used to combine groups of object files into
29 # Arguments to be passed to the C compiler.
31 # Below are compiler flags which may be of use if you are porting NEdit to a
34 # DONT_HAVE_GLOB Some older systems don't have the glob subroutine for
35 # USE_MOTIF_GLOB expanding file names. If the linker complains about not
36 # finding "glob" and "globfree", first try adding:
37 # -DUSE_MOTIF_GLOB, which will use a private Motif routine
38 # in place of "glob". Being a private routine, it is not
39 # available in all Motif implementations, and you may have
40 # to resort to -DDONT_HAVE_GLOB, and NEdit will not be able
41 # to expand wildcards in the "Open Selected" command (which
44 # USE_DIRENT Some Unix systems call the structure used by the readdir
45 # subroutine dirent, rather than direct. Add -DUSE_DIRENT
46 # to CFLAGS if your C compiler complains about the line:
48 # struct direct *DirEntryPtr;
50 # USE_LPR_PRINT_CMD NEdit considers the standard Unix print command to be "lp"
51 # unless told otherwise. If the standard command on your
52 # system type is "lpr", define this. (This is just the last
53 # resort default. You can redefine the print command to be
54 # whatever you like via X resource settings).
56 # DONT_USE_ACCESS NEdit used to determine the accessibility of a file by
57 # trying to open it. However, one of the more popular
58 # commercial configuration management tools, ClearCase,
59 # considers opening a file in read/write mode to be a
60 # modification, even if no writing is ever done. This lead
61 # to users having trouble with ClearCase thinking their
62 # files had been modified when they hadn't. NEdit now uses
63 # access() to determine whether a file is writable (in a
64 # safe way). The old behavior can be restored by defining
67 # ROWCOLPATCH Patches around a problem in several versions the Solaris
68 # Motif library which can cause crashes when a wiget is
69 # destroyed. See comments in window.c for details.
71 # IBM_FWRITE_BUG Killer AIX system bug with fwrite system call. Only
72 # affects one release of AIX, but can cause data corruption.
73 # IBM actually denies that this bug ever existed, but it
74 # was pretty widespread.
76 # EDITRES If you have the Xmu library, define this to give NEdit
77 # the capability of being probed by editres to display its
78 # widget tree. Editres is useful in customizing details
79 # of X applications which their developers have deemed too
80 # minute to document. If you define this, you must also add
83 # NO_XMIM Don't use the Motif version of the international character
84 # set input routines in the nedit text widget. Turn this on
85 # if you see crashes in routines beginning with XmIm. Such
86 # bugs exist in IRIX 6.5 and some older Motif versions.
88 # REPLACE_SCOPE Currently, two alternative (but functionally equivalent)
89 # Replace/Find dialog box layouts are available. By default,
90 # a layout with 2 rows of push buttons is built. Compiling
91 # with the REPLACE_SCOPE flag enables an alternative layout
92 # with a row of radio buttons for selecting the scope of the
93 # replace operations. Eventually, one of these alternatives
94 # will probably disappear. Please let us know which one you
95 # prefer (via the discuss mailing list, for instance).
97 # HAVE__XMVERSIONSTRING If the Motif library exports the runtime version this
98 # will display both strings in the version info to help
99 # confirm the compile time and run time versions are
102 # NO_READLINK Define if your system doesn't have the UNIX interface
103 # readlink(2) - or just no symlinks at all.
105 # HAVE_CONFIG_H Include config.h from toplevel directory in front
106 # of all other headers in each .c source file.
107 # Only useful for developers so far.
109 # HAVE_DEBUG_H Include debug.h from toplevel directory after
110 # all other headers in each .c source file.
111 # Only useful for developers.
113 # Some compilers need to be told to operate in ansi-standard mode, some have
114 # different levels of optimization that you can select (optimization improves
115 # syntax highlighting performance. You will also often need to add locations
116 # of X and/or Motif include files if they are not in the compiler's standard
120 # Flags for the library (archive) tool. These are pretty much standard
121 # across all Unix systems, but if your system is having trouble building or
122 # rebuilding the nedit library (libNUtil.a), you can try tweaking these.
125 # A few C compilers have limits on the size of string constants, which NEdit's
126 # built-in help may exceed. Paradoxically, when you compile the code with one
127 # of these mutants, it usually tells you how to bump up the limit, so all you
128 # have to do is enter that information here.
131 # Flags for the linker. On some systems, you have to specify the locations
132 # for the X and/or Motif libraries. There may also be additional prerequisite
133 # libraries which are required by the X and Motif libraries. These vary from
134 # system to system, and it helps to have a working Motif program (or at least
135 # an X program) as an example.
136 LIBS= -lXm -lXt -lX11 -lm
138 # System independent part
139 include Makefile.common