1# qqwing - Sudoku solver and generator 2# Copyright (C) 2014 Stephen Ostermiller 3# 4# This program is free software; you can redistribute it and/or modify 5# it under the terms of the GNU General Public License as published by 6# the Free Software Foundation; either version 2 of the License, or 7# (at your option) any later version. 8# 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License along 15# with this program; if not, write to the Free Software Foundation, Inc., 16# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 18.PHONY: all 19all: dist test website 20 21.PHONY: dist 22dist: jar tgz rpm deb jsgz 23 @build/show_dist.sh 24 25.PHONY: compile 26compile: javacompile cppcompile jsmin 27 28.PHONY: javaversion 29javaversion: notroot src 30 @build/java_version.sh 31 32.PHONY: javacompile 33javacompile: javaversion 34 @build/java_compile.sh 35 36.PHONY: jar 37jar: javacompile 38 @build/jar_build.sh 39 40.PHONY: cppconfigure 41cppconfigure: notroot src 42 @build/cpp_configure.sh 43 44.PHONY: cppcompile 45cppcompile: cppconfigure 46 @build/cpp_compile.sh 47 48.PHONY: jscompile 49jscompile: src 50 @build/js_build.sh 51 52.PHONY: jsmin 53jsmin: jscompile 54 @build/js_minimize.sh 55 56.PHONY: jsgz 57jsgz: jsmin 58 @build/js_archive.sh 59 60.PHONY: tgz 61tgz: cppcompile 62 @build/cpp_dist.sh 63 64.PHONY: rpm 65rpm: tgz 66 @build/rpm_build.sh 67 68.PHONY: deb 69deb: tgz 70 @build/deb_build.sh 71 72.PHONY: install 73install: cppcompile 74 @build/cpp_install.sh 75 76.PHONY: notroot 77notroot: 78 @build/not_root_check.sh 79 80.PHONY: src 81src: copyright neaten 82 83.PHONY: copyright 84copyright: 85 @build/src-copyright-check.sh 86 87.PHONY: neaten 88neaten: 89 @build/src_neaten.sh 90 91.PHONY: test 92test: testunit testapp 93 94.PHONY: testunit 95testunit: testjavaunit testjsunit 96 97.PHONY: testjavaunit 98testjavaunit: javacompile javatestcompile 99 @build/java_unit_tests.sh 100 101.PHONY: testjsunit 102testjsunit: jscompile 103 @build/js_unit_tests.sh 104 105.PHONY: javatestcompile 106javatestcompile: javacompile 107 @build/java_test_compile.sh 108 109.PHONY: testapp 110testapp: testcppapp testjavaapp testjsapp 111 112.PHONY: testjavaapp 113testjavaapp: jar 114 @build/test-app-run.sh java 115 116.PHONY: testcppapp 117testcppapp: cppcompile 118 @build/test-app-run.sh cpp 119 120.PHONY: testjsapp 121testjsapp: jsmin 122 @build/test-app-run.sh js 123 124.PHONY: website 125website: jsgz 126 @build/website-build.sh 127 128.PHONY: javatest 129javatest: testjavaunit testjavaapp 130 131.PHONY: cpptest 132cpptest: testcppapp 133 134.PHONY: jstest 135jstest: testjsunit testjsapp 136 137.PHONY: release 138release: src 139 @build/release.sh 140 141.PHONY: clean 142clean: 143 rm -rf target/ 144 145# Target aliases 146 147.PHONY: versionjava 148versionjava: javaversion 149 150.PHONY: compilejava 151compilejava: javacompile 152 153.PHONY: java 154java: javacompile 155 156.PHONY: cpp 157cpp: cppcompile 158 159.PHONY: js 160js: jsmin 161 162.PHONY: configurecpp 163configurecpp: cppconfigure 164 165.PHONY: compilecpp 166compilecpp: cppcompile 167 168.PHONY: unittest 169unittest: testunit 170 171.PHONY: javaunittest 172javaunittest: testjavaunit 173 174.PHONY: testcompilejava 175testcompilejava: javatestcompile 176 177.PHONY: apptest 178apptest: testapp 179 180.PHONY: javaapptest 181javaapptest: testjavaapp 182 183.PHONY: jsapptest 184jsapptest: testjsapp 185 186.PHONY: cppapptest 187cppapptest: testcppapp 188 189.PHONY: testjava 190testjava: javatest 191 192.PHONY: testcpp 193testcpp: cpptest 194 195.PHONY: testjs 196testjs: jstest 197 198.PHONY: unittestjava 199unittestjava: javaunittest 200 201.PHONY: compilejavatest 202compilejavatest: testcompilejava 203 204.PHONY: apptestjava 205apptestjava: javaapptest 206 207.PHONY: apptestjs 208apptestjs: jsapptest 209 210.PHONY: apptestcpp 211apptestcpp: cppapptest 212 213.PHONY: www 214www: website 215