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 |
3845
|
9 TARGETS = octave-bug octave-config mkoctfile libcruft liboctave \ |
4378
|
10 dlfcn readline src scripts doc check octave.info \ |
3845
|
11 INSTALL.OCTAVE BUGS install install-strip uninstall \ |
|
12 tags TAGS dist conf-dist snapshot snapshot-version |
2681
|
13 |
|
14 NO_DEP_TARGETS = clean mostlyclean distclean maintainer-clean |
|
15 |
|
16 all: header-msg config-check |
|
17 $(MAKE) -f octMakefile all |
|
18 |
|
19 $(TARGETS): FORCE |
|
20 $(MAKE) -f octMakefile $@ |
|
21 |
|
22 $(NO_DEP_TARGETS): FORCE |
|
23 $(MAKE) -f octMakefile omit_deps=true $@ |
|
24 |
|
25 binary-dist: FORCE |
3029
|
26 @if test -f configure && test -f octMakefile.in; then \ |
3176
|
27 ./configure --enable-shared --enable-lite-kernel ; \ |
2682
|
28 else \ |
3029
|
29 echo ""; \ |
|
30 echo "*** You must run make binary-dist in the source directory."; \ |
|
31 echo ""; \ |
|
32 exit 1; \ |
2682
|
33 fi |
3176
|
34 $(MAKE) -f octMakefile CFLAGS=-O CXXFLAGS=-O all |
2682
|
35 $(MAKE) -f octMakefile binary-dist |
2681
|
36 |
|
37 # Maybe this message will prevent people from asking why the |
|
38 # Makefiles don't work for them. Maybe not. |
|
39 |
|
40 header-msg: FORCE |
|
41 @echo "" |
3148
|
42 @echo "***********************************************************" |
3728
|
43 @echo "*" |
|
44 @echo "* To compile Octave, you will need a recent versions of" |
|
45 @echo "* the following software:" |
|
46 @echo "*" |
4309
|
47 @echo "* g++ (3.2.x or a more recent version)" |
3728
|
48 @echo "*" |
3731
|
49 @echo "* flex (2.5.4 or a more recent version) -- required if" |
|
50 @echo "* you need to recreate lex.cc from lex.l" |
3728
|
51 @echo "*" |
4756
|
52 @echo "* bison (1.31 or a more recent version) -- required if" |
3731
|
53 @echo "* you need to recreate parse.cc from parse.y" |
3728
|
54 @echo "*" |
3731
|
55 @echo "* gperf (2.7.1 or a more recent version) -- required if" |
|
56 @echo "* you need to recreate oct-gperf.h from octave.gperf" |
3728
|
57 @echo "*" |
|
58 @echo "* Now would be a good time to read INSTALL.OCTAVE if" |
|
59 @echo "* you have not done so already." |
|
60 @echo "*" |
3148
|
61 @echo "***********************************************************" |
2681
|
62 @echo "" |
|
63 |
|
64 help: header-msg |
|
65 @echo "" |
|
66 @echo "For more information, please read the files INSTALL," |
|
67 @echo "INSTALL.OCTAVE, and any other system-specific README" |
|
68 @echo "files that apply (e.g., README.Linux)." |
|
69 @echo "" |
|
70 @echo "The following targets are available:" |
|
71 @echo "" |
|
72 @echo " all build everything" |
|
73 @echo " check run self tests" |
|
74 @echo " install install files" |
|
75 @echo " install-strip same as install but strip binaries" |
|
76 @echo " uninstall delete installed files" |
|
77 @echo "" |
|
78 @echo " dist create a source distribution" |
|
79 @echo " conf-dist create a config files distribution" |
2682
|
80 @echo " binary-dist create a binary distribution" |
2681
|
81 @echo "" |
|
82 @echo " clean remove files created by make all" |
|
83 @echo " mostlyclean remove most files created by make all" |
|
84 @echo " distclean remove all files not in distribution" |
|
85 @echo " maintainer-clean clean up everything" |
|
86 @echo "" |
|
87 @echo " octave-bug create octave-bug script" |
3845
|
88 @echo " octave-config create octave-config script" |
2681
|
89 @echo " mkoctfile create mkoctfile script" |
|
90 @echo " INSTALL.OCTAVE create INSTALL.OCTAVE doc file" |
|
91 @echo " BUGS create BUGS doc file" |
|
92 @echo " tags create tags files" |
|
93 @echo " TAGS create TAGS files" |
|
94 @echo "" |
|
95 @echo " dlfcn make all in subdirectory dlfcn" |
|
96 @echo " doc make all in subdirectory doc" |
|
97 @echo " libcruft make all in subdirectory libcruft" |
|
98 @echo " liboctave make all in subdirectory liboctave" |
|
99 @echo " scripts make all in subdirectory scripts" |
|
100 @echo " src make all in subdirectory src" |
|
101 @echo "" |
|
102 @echo " help print this message" |
|
103 @echo "" |
|
104 |
|
105 config-check: |
3029
|
106 @if test -f octMakefile; then \ |
|
107 true; \ |
2681
|
108 else \ |
3029
|
109 echo ""; \ |
|
110 echo "*** You must run configure before running make."; \ |
|
111 echo "***"; \ |
|
112 echo "*** Please read the INSTALL and INSTALL.OCTAVE files"; \ |
|
113 echo "*** for more information about how to configure and"; \ |
|
114 echo "*** compile Octave."; \ |
|
115 echo ""; \ |
|
116 exit 1; \ |
2681
|
117 fi |
|
118 |
|
119 FORCE: |
3648
|
120 |
|
121 .NOTPARALLEL: |