reflowable text box
[nikiroo-utils.git] / Makefile
CommitLineData
7d4115a5
KL
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
33default: all
34
35.SUFFIXES: .class .java
36
37SRC_DIR = src
38ANT_TARGET_DIR = build
39TARGET_DIR = classes
40
624ce48e 41JEXER_SRC = $(SRC_DIR)/jexer/TApplication.java \
30d336cc
KL
42 $(SRC_DIR)/jexer/TAction.java \
43 $(SRC_DIR)/jexer/TButton.java \
44 $(SRC_DIR)/jexer/TLabel.java \
df8de03f
KL
45 $(SRC_DIR)/jexer/TCommand.java \
46 $(SRC_DIR)/jexer/TKeypress.java \
cc99cba8 47 $(SRC_DIR)/jexer/TText.java \
48e27807
KL
48 $(SRC_DIR)/jexer/THScroller.java \
49 $(SRC_DIR)/jexer/TVScroller.java \
50 $(SRC_DIR)/jexer/TWidget.java \
624ce48e
KL
51 $(SRC_DIR)/jexer/bits/GraphicsChars.java \
52 $(SRC_DIR)/jexer/bits/Color.java \
53 $(SRC_DIR)/jexer/bits/CellAttributes.java \
54 $(SRC_DIR)/jexer/bits/Cell.java \
df8de03f
KL
55 $(SRC_DIR)/jexer/bits/ColorTheme.java \
56 $(SRC_DIR)/jexer/bits/MnemonicString.java \
57 $(SRC_DIR)/jexer/event/TInputEvent.java \
58 $(SRC_DIR)/jexer/event/TCommandEvent.java \
59 $(SRC_DIR)/jexer/event/TKeypressEvent.java \
60 $(SRC_DIR)/jexer/event/TMenuEvent.java \
61 $(SRC_DIR)/jexer/event/TMouseEvent.java \
62 $(SRC_DIR)/jexer/event/TResizeEvent.java \
30d336cc
KL
63 $(SRC_DIR)/jexer/menu/TMenu.java \
64 $(SRC_DIR)/jexer/menu/TMenuItem.java \
65 $(SRC_DIR)/jexer/menu/TMenuSeparator.java \
66 $(SRC_DIR)/jexer/menu/TSubMenu.java \
df8de03f
KL
67 $(SRC_DIR)/jexer/session/SessionInfo.java \
68 $(SRC_DIR)/jexer/session/TSessionInfo.java \
c8496dac 69 $(SRC_DIR)/jexer/session/TTYSessionInfo.java \
df8de03f 70 $(SRC_DIR)/jexer/io/Screen.java \
217c6107 71 $(SRC_DIR)/jexer/io/ECMA48Screen.java \
b1589621 72 $(SRC_DIR)/jexer/io/ECMA48Terminal.java \
05dbb28d
KL
73 $(SRC_DIR)/jexer/backend/Backend.java \
74 $(SRC_DIR)/jexer/backend/ECMA48Backend.java
624ce48e
KL
75
76JEXER_BIN = $(TARGET_DIR)/jexer/TApplication.class \
30d336cc
KL
77 $(TARGET_DIR)/jexer/TAction.class \
78 $(TARGET_DIR)/jexer/TButton.class \
79 $(TARGET_DIR)/jexer/TLabel.class \
df8de03f
KL
80 $(TARGET_DIR)/jexer/TCommand.class \
81 $(TARGET_DIR)/jexer/TKeypress.class \
cc99cba8 82 $(TARGET_DIR)/jexer/TText.class \
48e27807
KL
83 $(TARGET_DIR)/jexer/THScroller.class \
84 $(TARGET_DIR)/jexer/TVScroller.class \
85 $(TARGET_DIR)/jexer/TWidget.class \
624ce48e
KL
86 $(TARGET_DIR)/jexer/bits/GraphicsChars.class \
87 $(TARGET_DIR)/jexer/bits/Color.class \
88 $(TARGET_DIR)/jexer/bits/CellAttributes.class \
89 $(TARGET_DIR)/jexer/bits/Cell.class \
df8de03f
KL
90 $(TARGET_DIR)/jexer/bits/ColorTheme.class \
91 $(TARGET_DIR)/jexer/bits/MnemonicString.class \
92 $(TARGET_DIR)/jexer/event/TInputEvent.class \
93 $(TARGET_DIR)/jexer/event/TCommandEvent.class \
94 $(TARGET_DIR)/jexer/event/TKeypressEvent.class \
95 $(TARGET_DIR)/jexer/event/TMenuEvent.class \
96 $(TARGET_DIR)/jexer/event/TMouseEvent.class \
97 $(TARGET_DIR)/jexer/event/TResizeEvent.class \
30d336cc
KL
98 $(TARGET_DIR)/jexer/menu/TMenu.class \
99 $(TARGET_DIR)/jexer/menu/TMenuItem.class \
100 $(TARGET_DIR)/jexer/menu/TMenuSeparator.class \
101 $(TARGET_DIR)/jexer/menu/TSubMenu.class \
df8de03f
KL
102 $(TARGET_DIR)/jexer/session/SessionInfo.class \
103 $(TARGET_DIR)/jexer/session/TSessionInfo.class \
c8496dac 104 $(TARGET_DIR)/jexer/session/TTYSessionInfo.class \
df8de03f 105 $(TARGET_DIR)/jexer/io/Screen.class \
217c6107 106 $(TARGET_DIR)/jexer/io/ECMA48Screen.class \
b1589621 107 $(TARGET_DIR)/jexer/io/ECMA48Terminal.class \
05dbb28d
KL
108 $(TARGET_DIR)/jexer/backend/Backend.class \
109 $(TARGET_DIR)/jexer/backend/ECMA48Backend.class
7d4115a5
KL
110
111JAVAC = javac
112JAVAFLAGS = -g -deprecation
113
114all: jexer demos
115
116run: jexer run-demo1
117
118all-demos: jexer demos/Demo1.class
119
120demos/Demo1.class: demos/Demo1.java
121 $(JAVAC) $(JAVAFLAGS) -cp $(TARGET_DIR) -d demos demos/Demo1.java
122
123run-demo1: demos/Demo1.class
124 java -cp $(TARGET_DIR):demos Demo1
125
126clean: clean-demos
127 -rm -r $(ANT_TARGET_DIR)
128 -rm -r $(TARGET_DIR)
129 -mkdir $(TARGET_DIR)
130
131clean-demos:
132 -rm demos/Demo1.class
133
134jexer: $(JEXER_SRC)
135 $(JAVAC) $(JAVAFLAGS) -sourcepath $(SRC_DIR) -d $(TARGET_DIR) $(JEXER_SRC)