2681
|
1 # |
|
2 # Makefile for octave's src directory |
|
3 # |
|
4 # John W. Eaton |
|
5 # jwe@bevo.che.wisc.edu |
|
6 # University of Wisconsin-Madison |
|
7 # Department of Chemical Engineering |
|
8 |
|
9 TARGETS = octave-bug mkoctfile libcruft liboctave kpathsea info dlfcn \ |
|
10 src scripts doc check octave.info INSTALL.OCTAVE BUGS \ |
|
11 install uninstall tags TAGS dist conf-dist snapshot snapshot-version |
|
12 |
|
13 NO_DEP_TARGETS = clean mostlyclean distclean maintainer-clean |
|
14 |
|
15 all: header-msg config-check |
|
16 $(MAKE) -f octMakefile all |
|
17 |
|
18 $(TARGETS): FORCE |
|
19 $(MAKE) -f octMakefile $@ |
|
20 |
|
21 $(NO_DEP_TARGETS): FORCE |
|
22 $(MAKE) -f octMakefile omit_deps=true $@ |
|
23 |
|
24 install-strip: |
|
25 $(MAKE) -f octMakefile INSTALL_PROGRAM='${INSTALL} -s' install |
|
26 |
|
27 binary-dist: FORCE |
|
28 @echo "***" |
|
29 @echo "*** you must specify either static or dynamic:" |
|
30 @echo "***" |
|
31 @echo "*** make dynamic-binary-dist" |
|
32 @echo "***" |
|
33 @echo "*** dynamically linked version typically including support" |
|
34 @echo "*** for shared libraried and dynamically linked functions" |
|
35 @echo "***" |
|
36 @echo "*** make static-binary-dist" |
|
37 @echo "***" |
|
38 @echo "*** statically linked version" |
|
39 @echo "***" |
|
40 |
|
41 static-binary-dist: FORCE |
|
42 $(MAKE) -f octMakefile DIST_TYPE=static binary-dist |
|
43 |
|
44 dynamic-binary-dist: FORCE |
|
45 $(MAKE) -f octMakefile DIST_TYPE=dynamic binary-dist |
|
46 |
|
47 # Maybe this message will prevent people from asking why the |
|
48 # Makefiles don't work for them. Maybe not. |
|
49 |
|
50 header-msg: FORCE |
|
51 @echo "" |
|
52 @echo "**********************************************************" |
|
53 @echo "* *" |
|
54 @echo "* To compile Octave, you will need a recent version of *" |
|
55 @echo "* GNU Make. *" |
|
56 @echo "* *" |
|
57 @echo "* You will also need g++ and libg++. *" |
|
58 @echo "* *" |
|
59 @echo "* This version of Octave has been developed with *" |
|
60 @echo "* version 2.7.2. You probably won't get very far *" |
|
61 @echo "* with earlier versions. Later versions may work, *" |
|
62 @echo "* but C++ is still evolving, so don't be too surprised *" |
|
63 @echo "* if you run into some trouble. *" |
|
64 @echo "* *" |
|
65 @echo "* Now would be a good time to read INSTALL.OCTAVE if *" |
|
66 @echo "* you have not done so already. *" |
|
67 @echo "* *" |
|
68 @echo "**********************************************************" |
|
69 @echo "" |
|
70 |
|
71 help: header-msg |
|
72 @echo "" |
|
73 @echo "For more information, please read the files INSTALL," |
|
74 @echo "INSTALL.OCTAVE, and any other system-specific README" |
|
75 @echo "files that apply (e.g., README.Linux)." |
|
76 @echo "" |
|
77 @echo "The following targets are available:" |
|
78 @echo "" |
|
79 @echo " all build everything" |
|
80 @echo " check run self tests" |
|
81 @echo " install install files" |
|
82 @echo " install-strip same as install but strip binaries" |
|
83 @echo " uninstall delete installed files" |
|
84 @echo "" |
|
85 @echo " dist create a source distribution" |
|
86 @echo " conf-dist create a config files distribution" |
|
87 @echo " static-binary-dist create a binary distribution" |
|
88 @echo " dynamic-binary-dist create a binary distribution" |
|
89 @echo "" |
|
90 @echo " clean remove files created by make all" |
|
91 @echo " mostlyclean remove most files created by make all" |
|
92 @echo " distclean remove all files not in distribution" |
|
93 @echo " maintainer-clean clean up everything" |
|
94 @echo "" |
|
95 @echo " octave-bug create octave-bug script" |
|
96 @echo " mkoctfile create mkoctfile script" |
|
97 @echo " INSTALL.OCTAVE create INSTALL.OCTAVE doc file" |
|
98 @echo " BUGS create BUGS doc file" |
|
99 @echo " tags create tags files" |
|
100 @echo " TAGS create TAGS files" |
|
101 @echo "" |
|
102 @echo " dlfcn make all in subdirectory dlfcn" |
|
103 @echo " doc make all in subdirectory doc" |
|
104 @echo " info make all in subdirectory info" |
|
105 @echo " kpathsea make all in subdirectory kpathsea" |
|
106 @echo " libcruft make all in subdirectory libcruft" |
|
107 @echo " liboctave make all in subdirectory liboctave" |
|
108 @echo " scripts make all in subdirectory scripts" |
|
109 @echo " src make all in subdirectory src" |
|
110 @echo "" |
|
111 @echo " help print this message" |
|
112 @echo "" |
|
113 |
|
114 config-check: |
|
115 @if test -f octMakefile ; then \ |
|
116 true ; \ |
|
117 else \ |
|
118 echo "" ; \ |
|
119 echo "*** You must run configure before running make." ; \ |
|
120 echo "***" ; \ |
|
121 echo "*** Please read the INSTALL and INSTALL.OCTAVE files" ; \ |
|
122 echo "*** for more information about how to configure and" ; \ |
|
123 echo "*** compile Octave." ; \ |
|
124 echo "" ; \ |
|
125 exit 1 ; \ |
|
126 fi |
|
127 |
|
128 FORCE: |