Switchable windows
[nikiroo-utils.git] / Makefile
1 # Jexer - Java Text User Interface - Makefile
2 #
3 # $Id$
4 #
5 # This program is licensed under the GNU Lesser General Public License
6 # Version 3. Please see the file "COPYING" in this directory for more
7 # information about the GNU Lesser General Public License Version 3.
8 #
9 # Copyright (C) 2015 Kevin Lamonte
10 #
11 # This library is free software; you can redistribute it and/or modify
12 # it under the terms of the GNU Lesser General Public License as
13 # published by the Free Software Foundation; either version 3 of the
14 # License, or (at your option) any later version.
15 #
16 # This program is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 # GNU General Public License for more details.
20 #
21 # You should have received a copy of the GNU Lesser General Public
22 # License along with this program; if not, see
23 # http://www.gnu.org/licenses/, or write to the Free Software
24 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
25 # USA
26
27
28 # This Makefile is a quick-and-dirty build that is useful to execute
29 # the Demo1 application that uses stdin/stdout. Use 'make run'.
30 #
31 # Generally it would be better to use the ant build.
32
33 default: all
34
35 .SUFFIXES: .class .java
36
37 SRC_DIR = src
38 ANT_TARGET_DIR = build
39 TARGET_DIR = classes
40
41 JEXER_SRC = $(SRC_DIR)/jexer/TApplication.java \
42 $(SRC_DIR)/jexer/TCommand.java \
43 $(SRC_DIR)/jexer/TKeypress.java \
44 $(SRC_DIR)/jexer/THScroller.java \
45 $(SRC_DIR)/jexer/TVScroller.java \
46 $(SRC_DIR)/jexer/TWidget.java \
47 $(SRC_DIR)/jexer/bits/GraphicsChars.java \
48 $(SRC_DIR)/jexer/bits/Color.java \
49 $(SRC_DIR)/jexer/bits/CellAttributes.java \
50 $(SRC_DIR)/jexer/bits/Cell.java \
51 $(SRC_DIR)/jexer/bits/ColorTheme.java \
52 $(SRC_DIR)/jexer/bits/MnemonicString.java \
53 $(SRC_DIR)/jexer/event/TInputEvent.java \
54 $(SRC_DIR)/jexer/event/TCommandEvent.java \
55 $(SRC_DIR)/jexer/event/TKeypressEvent.java \
56 $(SRC_DIR)/jexer/event/TMenuEvent.java \
57 $(SRC_DIR)/jexer/event/TMouseEvent.java \
58 $(SRC_DIR)/jexer/event/TResizeEvent.java \
59 $(SRC_DIR)/jexer/session/SessionInfo.java \
60 $(SRC_DIR)/jexer/session/TSessionInfo.java \
61 $(SRC_DIR)/jexer/session/TTYSessionInfo.java \
62 $(SRC_DIR)/jexer/io/Screen.java \
63 $(SRC_DIR)/jexer/io/ECMA48Screen.java \
64 $(SRC_DIR)/jexer/io/ECMA48Terminal.java \
65 $(SRC_DIR)/jexer/backend/Backend.java \
66 $(SRC_DIR)/jexer/backend/ECMA48Backend.java
67
68 JEXER_BIN = $(TARGET_DIR)/jexer/TApplication.class \
69 $(TARGET_DIR)/jexer/TCommand.class \
70 $(TARGET_DIR)/jexer/TKeypress.class \
71 $(TARGET_DIR)/jexer/THScroller.class \
72 $(TARGET_DIR)/jexer/TVScroller.class \
73 $(TARGET_DIR)/jexer/TWidget.class \
74 $(TARGET_DIR)/jexer/bits/GraphicsChars.class \
75 $(TARGET_DIR)/jexer/bits/Color.class \
76 $(TARGET_DIR)/jexer/bits/CellAttributes.class \
77 $(TARGET_DIR)/jexer/bits/Cell.class \
78 $(TARGET_DIR)/jexer/bits/ColorTheme.class \
79 $(TARGET_DIR)/jexer/bits/MnemonicString.class \
80 $(TARGET_DIR)/jexer/event/TInputEvent.class \
81 $(TARGET_DIR)/jexer/event/TCommandEvent.class \
82 $(TARGET_DIR)/jexer/event/TKeypressEvent.class \
83 $(TARGET_DIR)/jexer/event/TMenuEvent.class \
84 $(TARGET_DIR)/jexer/event/TMouseEvent.class \
85 $(TARGET_DIR)/jexer/event/TResizeEvent.class \
86 $(TARGET_DIR)/jexer/session/SessionInfo.class \
87 $(TARGET_DIR)/jexer/session/TSessionInfo.class \
88 $(TARGET_DIR)/jexer/session/TTYSessionInfo.class \
89 $(TARGET_DIR)/jexer/io/Screen.class \
90 $(TARGET_DIR)/jexer/io/ECMA48Screen.class \
91 $(TARGET_DIR)/jexer/io/ECMA48Terminal.class \
92 $(TARGET_DIR)/jexer/backend/Backend.class \
93 $(TARGET_DIR)/jexer/backend/ECMA48Backend.class
94
95 JAVAC = javac
96 JAVAFLAGS = -g -deprecation
97
98 all: jexer demos
99
100 run: jexer run-demo1
101
102 all-demos: jexer demos/Demo1.class
103
104 demos/Demo1.class: demos/Demo1.java
105 $(JAVAC) $(JAVAFLAGS) -cp $(TARGET_DIR) -d demos demos/Demo1.java
106
107 run-demo1: demos/Demo1.class
108 java -cp $(TARGET_DIR):demos Demo1
109
110 clean: clean-demos
111 -rm -r $(ANT_TARGET_DIR)
112 -rm -r $(TARGET_DIR)
113 -mkdir $(TARGET_DIR)
114
115 clean-demos:
116 -rm demos/Demo1.class
117
118 jexer: $(JEXER_SRC)
119 $(JAVAC) $(JAVAFLAGS) -sourcepath $(SRC_DIR) -d $(TARGET_DIR) $(JEXER_SRC)