Here is the correct structure for different scenarios assuming your account name is jqstudent:
This is the one you are supposed to submit:
Some_Directory `-- jqstudent |-- Makefile |-- ANTLR's input file (*.g or *.g4) |-- lib | `-- antlr.jar `-- src |-- ... |-- Your program's source code (containing Micro.java and any other java files that you wrote (and not the ones antlr generates)) `-- ...
After "make" or "make all" when Makefile has successfully generated java files from antlr and compiled all the source code it should become:
Some_Directory `-- jqstudent |-- Makefile |-- ANTLR's input file (*.g or *.g4) |-- build | |-- ... | |-- Files generated by ANTLR from *.g or *.g4 including some .java files | `-- ... |-- classes | |-- ... | |-- Micro.class (The class file of your compiler's main class) | |-- *.class files compiled from both src/*.java (the ones you wrote) and build/*.java (the ones antlr generated) | `-- ... |-- lib | `-- antlr.jar `-- src |-- ... |-- Your program's source code (containing Micro.java and any other java files that you wrote (and not the ones antlr generates)) `-- ...
After running "make.clean" it should be like the one you submitted:
Some_Directory `-- jqstudent |-- Makefile |-- ANTLR's input file (*.g or *.g4) |-- lib | `-- antlr.jar `-- src |-- ... |-- Your program's source code (containing Micro.java and any other java files that you wrote (and not the ones antlr generates)) `-- ...
This is the one you should submit:
Some_Directory `-- jqstudent |-- Makefile |-- lib (This directory may be empty because library files of Flex/Bison have been installed on ECN machines.) | |-- ... | |-- (Please remember to update the Makefile if you add some other library files here.) | `-- ... `-- src |-- ... |-- Your program's source code (*.h and *.c/*.cpp) and Flex/Bison's input file (*.l and *.y) `-- ...
This is what it should become after "make" or "make all" is run:
Some_Directory `-- jqstudent |-- Makefile |-- Micro *or* micro (The executable file of your compiler) |-- generated | |-- ... | |-- Files generated by Flex/Bison from src/*.l and src/*.y | `-- ... |-- build | |-- ... | |-- *.o files compiled from src/*.c (or src/*.cpp) and generated/*.c (or generated/*.cpp) | `-- ... |-- lib (This directory may be empty because library files of Flex/Bison have been installed on ECN machines.) | |-- ... | |-- (Please remember to update the Makefile if you add some other library files here.) | `-- ... `-- src |-- ... |-- Your program's source code (*.h and *.c/*.cpp) and Flex/Bison's input file (*.l and *.y) `-- ...
This is how it should be after "make clean" is run:
Some_Directory `-- jqstudent |-- Makefile |-- lib (This directory may be empty because library files of Flex/Bison have been installed on ECN machines.) | |-- ... | |-- (Please remember to update the Makefile if you add some other library files here.) | `-- ... `-- src |-- ... |-- Your program's source code (*.h and *.c/*.cpp) and Flex/Bison's input file (*.l and *.y) `-- ...
Some_Directory `-- jqstudent |-- Makefile (with all, group, and clean targets, all should prepare your project to be run if it needs any preparation) |-- Micro (a shell named Micro which runs the program and accepts the testcase as a command line argument) |-- lib (This directory may be empty if ecegrid-lnx.ecn.purdue.edu has all required libraries and environment to run your program) | |-- ... `-- src |-- ... |-- Your program's source code `-- ...
Your make file may create any directory (e.g. generated or build) to put any generated files and "make clean" should remove these directories.