| 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/TAction.java \ |
| 43 | $(SRC_DIR)/jexer/TButton.java \ |
| 44 | $(SRC_DIR)/jexer/TLabel.java \ |
| 45 | $(SRC_DIR)/jexer/TCommand.java \ |
| 46 | $(SRC_DIR)/jexer/TKeypress.java \ |
| 47 | $(SRC_DIR)/jexer/TText.java \ |
| 48 | $(SRC_DIR)/jexer/THScroller.java \ |
| 49 | $(SRC_DIR)/jexer/TVScroller.java \ |
| 50 | $(SRC_DIR)/jexer/TWidget.java \ |
| 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 \ |
| 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 \ |
| 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 \ |
| 67 | $(SRC_DIR)/jexer/session/SessionInfo.java \ |
| 68 | $(SRC_DIR)/jexer/session/TSessionInfo.java \ |
| 69 | $(SRC_DIR)/jexer/session/TTYSessionInfo.java \ |
| 70 | $(SRC_DIR)/jexer/io/Screen.java \ |
| 71 | $(SRC_DIR)/jexer/io/ECMA48Screen.java \ |
| 72 | $(SRC_DIR)/jexer/io/ECMA48Terminal.java \ |
| 73 | $(SRC_DIR)/jexer/backend/Backend.java \ |
| 74 | $(SRC_DIR)/jexer/backend/ECMA48Backend.java \ |
| 75 | $(SRC_DIR)/jexer/demos/Demo1.java |
| 76 | |
| 77 | JEXER_BIN = $(TARGET_DIR)/jexer/TApplication.class \ |
| 78 | $(TARGET_DIR)/jexer/TAction.class \ |
| 79 | $(TARGET_DIR)/jexer/TButton.class \ |
| 80 | $(TARGET_DIR)/jexer/TLabel.class \ |
| 81 | $(TARGET_DIR)/jexer/TCommand.class \ |
| 82 | $(TARGET_DIR)/jexer/TKeypress.class \ |
| 83 | $(TARGET_DIR)/jexer/TText.class \ |
| 84 | $(TARGET_DIR)/jexer/THScroller.class \ |
| 85 | $(TARGET_DIR)/jexer/TVScroller.class \ |
| 86 | $(TARGET_DIR)/jexer/TWidget.class \ |
| 87 | $(TARGET_DIR)/jexer/bits/GraphicsChars.class \ |
| 88 | $(TARGET_DIR)/jexer/bits/Color.class \ |
| 89 | $(TARGET_DIR)/jexer/bits/CellAttributes.class \ |
| 90 | $(TARGET_DIR)/jexer/bits/Cell.class \ |
| 91 | $(TARGET_DIR)/jexer/bits/ColorTheme.class \ |
| 92 | $(TARGET_DIR)/jexer/bits/MnemonicString.class \ |
| 93 | $(TARGET_DIR)/jexer/event/TInputEvent.class \ |
| 94 | $(TARGET_DIR)/jexer/event/TCommandEvent.class \ |
| 95 | $(TARGET_DIR)/jexer/event/TKeypressEvent.class \ |
| 96 | $(TARGET_DIR)/jexer/event/TMenuEvent.class \ |
| 97 | $(TARGET_DIR)/jexer/event/TMouseEvent.class \ |
| 98 | $(TARGET_DIR)/jexer/event/TResizeEvent.class \ |
| 99 | $(TARGET_DIR)/jexer/menu/TMenu.class \ |
| 100 | $(TARGET_DIR)/jexer/menu/TMenuItem.class \ |
| 101 | $(TARGET_DIR)/jexer/menu/TMenuSeparator.class \ |
| 102 | $(TARGET_DIR)/jexer/menu/TSubMenu.class \ |
| 103 | $(TARGET_DIR)/jexer/session/SessionInfo.class \ |
| 104 | $(TARGET_DIR)/jexer/session/TSessionInfo.class \ |
| 105 | $(TARGET_DIR)/jexer/session/TTYSessionInfo.class \ |
| 106 | $(TARGET_DIR)/jexer/io/Screen.class \ |
| 107 | $(TARGET_DIR)/jexer/io/ECMA48Screen.class \ |
| 108 | $(TARGET_DIR)/jexer/io/ECMA48Terminal.class \ |
| 109 | $(TARGET_DIR)/jexer/backend/Backend.class \ |
| 110 | $(TARGET_DIR)/jexer/backend/ECMA48Backend.class \ |
| 111 | $(TARGET_DIR)/jexer/demos/Demo1.class |
| 112 | |
| 113 | JAVAC = javac |
| 114 | JAVAFLAGS = -g -deprecation |
| 115 | |
| 116 | all: jexer |
| 117 | |
| 118 | run: jexer run-demo1 |
| 119 | |
| 120 | all-demos: jexer |
| 121 | |
| 122 | run-demo1: all-demos |
| 123 | java -Djexer.AWT=true -cp $(TARGET_DIR) jexer.demos.Demo1 |
| 124 | |
| 125 | clean: |
| 126 | -rm -r $(ANT_TARGET_DIR) |
| 127 | -rm -r $(TARGET_DIR) |
| 128 | -mkdir $(TARGET_DIR) |
| 129 | |
| 130 | jexer: $(JEXER_SRC) |
| 131 | $(JAVAC) $(JAVAFLAGS) -sourcepath $(SRC_DIR) -d $(TARGET_DIR) $(JEXER_SRC) |