У меня есть файл makefile, где один класс Java, довольно высокий по иерархии, зависит от тонны других классов. Мой основной вопрос я могу сделать следующее:Как обрабатывать Java во время компиляции?
$ (bigClass) .class: $ (smallOne) .class ... $ (lastSmallOne) .class $ (bigClass) .java
Javac bigClass.java маленькийOne.java ... последнийSmallOne.java
и все еще оптимальный. Джавак заботится обо всем этом для меня? Или мне нужно перебирать детали ссылок, например, с помощью кода gcc и c? Другими словами, если бы один из них не был обновлен, javac выяснил бы «о ... хорошо ... все, что мне нужно сделать, это скомпилировать это прямо здесь, а затем снова связать»? Если нет, то что эквивалентно javac для простого утверждения «gcc -o object1.o object2.o»?
Там нет ссылки шага в Java. Вы никогда не превращаете байт-код в исполняемый файл, вместо этого отправляете его на виртуальную машину Java, которая делает компиляцию точно в момент ее фактического запуска. – azurefrog
Почему вы пытаетесь [использовать make] (http://stackoverflow.com/questions/29184999/making-a-java-makefile) для сборки Java в любом случае? Вы действительно должны использовать современный инструмент, например [maven] (https://maven.apache.org/). – azurefrog
Использование 'make' для сборки Java - у вас, похоже, определенная мазохистическая полоса ... –