📄 makefile.include
字号:
#-*-makefile-*-####################################################################### # Contains the shared make rules for the tools/java tree.## In each directory, create a Makefile that includes the lines# ROOT = <path to this directory># include $(ROOT)/Makefile.include## By default the Makefile will compile all .java source code in the# current directory. You may also specify the following flags in # your Makefile, *before* including Makefile.include:## SUBDIRS = dir1 dir2 ...# Specify a list of subdirectories that 'make' should descend into## INITIAL_TARGETS = target1 target2 ...# Specify build targets to be compiled before compiling Java classes## FINAL_TARGETS = target1 target2 ...# Specify build targets to be compiled after compiling Java classes## OTHER_CLEAN = target1 target2 ...# Specify other targets to be executed when 'make clean' is run## NOTE: this Makefile requires GNU make, as well as a number of # standard UNIX shell tools.#######################################################################SRC = $(wildcard *.java)JAVA = $(SRC)CLASSES = $(JAVA:.java=.class)all: here subdirs $(FINAL_TARGETS)# figure out useful variablesPWD = $(shell pwd)# set compiler commandifeq ($(JAVAC)_x, _x)JAVAC = javacendif# general rule for java files%.class: %.java $(JAVAC) $<ifeq ($(SUBDIRS)_x, _x)subdirs: heresubdirs-clean: here-cleanelsesubdirs: here @for i in $(SUBDIRS); do \ if [ -d $$i ]; then \ if [ -f $$i/Makefile ]; then \ $(MAKE) -C $$i; \ else \ echo "***" no Makefile in directory: $(PWD)/$$i; \ fi \ else \ echo "***" skipping missing directory: $(PWD)/$$i; \ fi; \ donesubdirs-clean: here-clean @for i in $(SUBDIRS); do \ if [ -d $$i ]; then \ if [ -f $$i/Makefile ]; then \ $(MAKE) -C $$i clean; \ else \ echo "***" no Makefile in directory: $(PWD)/$$i; \ fi \ else \ echo "***" skipping missing directory: $$i; \ fi; \ donesubdirs-install: @for i in $(INSTALLDIRS); do \ if [ -d $$i ]; then \ if [ -f $$i/Makefile ]; then \ $(MAKE) -C $$i install; \ else \ echo "***" no Makefile in directory: $(PWD)/$$i; \ fi \ else \ echo "***" skipping missing directory: $$i; \ fi; \ doneendifhere: printdir $(INITIAL_TARGETS) $(JAVA) $(CLASSES) FORCEprintdir: @echo "... $(PWD)"; here-clean: FORCE @rm -f *.class *~ javacore*.txt @echo "cleaning $(PWD)" clean: here-clean subdirs-clean $(OTHER_CLEAN)install: subdirs-install# some phony targets - FORCE forces a command to be run on all dependencies,# and .PHONY prevents badness if a phony target coincides with a filenameFORCE:.PHONY: all $(SUBDIRS) $(SUBDIRSCLEAN) clean
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -