trying to also compile .jav files, not running yet

This commit is contained in:
julian 2023-11-23 17:08:47 +01:00
parent 8ea459fcd7
commit f093edb74f
3 changed files with 17 additions and 9 deletions

Binary file not shown.

View File

@ -1,21 +1,24 @@
JFLAGS = -g JFLAGS = -g
JC = javac JC = javac
JTX = JavaTXcompiler-0.1-jar-with-dependencies.jar
SRCDIR = src/main/java SRCDIR = src/main/java
DESTDIR = out DESTDIR = out
# Use find to locate all .java files recursively # Use find to locate all .java files recursively
SOURCES := $(shell find $(SRCDIR) -name '*.java') JAVASOURCES := $(shell find $(SRCDIR) -name '*.java')
RELATIVE_SOURCES := $(patsubst $(SRCDIR)/%,%,$(SOURCES)) JAVSOURCES := $(shell find $(SRCDIR) -name '*.jav')
# Convert .java files to .class files with the same directory structure # Convert .java files to .class files with the same directory structure
CLASSES := $(patsubst $(SRCDIR)/%.java,$(DESTDIR)/%.class,$(SOURCES)) 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 # Create a list of directories that need to be created in the destination directory
DIRS := $(sort $(dir $(CLASSES))) DIRS := $(sort $(dir $(JAVACLASSES))) $(sort $(dir $(JAVCLASSES)))
all: all:
@echo "$(RELATIVE_SOURCES)" @echo "$(JAVCLASSES)"
default: classes default: classes
@ -23,11 +26,16 @@ default: classes
$(DIRS): $(DIRS):
@mkdir -p $@ @mkdir -p $@
# Rule for compiling Java files
$(DESTDIR)/%.class: $(SRCDIR)/%.java | $(DIRS)
$(JC) -nowarn -d $(DESTDIR) -cp "src/main/java:target/dependencies/*" $(JFLAGS) $<
classes: $(CLASSES) # 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: clean:
$(RM) -r $(DESTDIR) $(RM) -r $(DESTDIR)