forked from JavaTX/JavaCompilerCore
42 lines
1.1 KiB
Makefile
42 lines
1.1 KiB
Makefile
JFLAGS = -g
|
|
JC = javac
|
|
|
|
JTX = JavaTXcompiler-0.1-jar-with-dependencies.jar
|
|
|
|
SRCDIR = src/main/java
|
|
DESTDIR = out
|
|
|
|
# Use find to locate all .java files recursively
|
|
JAVASOURCES := $(shell find $(SRCDIR) -name '*.java')
|
|
JAVSOURCES := $(shell find $(SRCDIR) -name '*.jav')
|
|
|
|
# Convert .java files to .class files with the same directory structure
|
|
JAVACLASSES := $(patsubst $(SRCDIR)/%.java,$(DESTDIR)/%.class,$(JAVASOURCES))
|
|
JAVCLASSES := $(patsubst $(SRCDIR)/%.jav,$(DESTDIR)/%.class,$(JAVSOURCES))
|
|
|
|
# Create a list of directories that need to be created in the destination directory
|
|
DIRS := $(sort $(dir $(JAVACLASSES))) $(sort $(dir $(JAVCLASSES)))
|
|
|
|
all:
|
|
@echo "$(JAVCLASSES)"
|
|
|
|
default: classes
|
|
|
|
# Rule for creating directories
|
|
$(DIRS):
|
|
@mkdir -p $@
|
|
|
|
|
|
# Rule for compiling jav files
|
|
$(DESTDIR)/%.class: $(SRCDIR)/%.jav | $(DIRS)
|
|
java -jar $(JTX) -d $(DESTDIR) -cp "src/main/java:target/dependencies/" $<
|
|
|
|
#rule for compiling java files
|
|
$(DESTDIR)/%.class: $(SRCDIR)/%.java | $(DIRS)
|
|
$(JC) -nowarn -d $(DESTDIR) -cp "src/main/java:out:target/dependencies/*" $(JFLAGS) $<
|
|
|
|
classes: $(JAVCLASSES) $(JAVACLASSES)
|
|
|
|
clean:
|
|
$(RM) -r $(DESTDIR)
|