AccountDemo.class: accountPackage AccountDemo.java javac AccountDemo.java all: accountPackage AccountDemo.class accountPackage: accountExceptions accountClasses ACEX = AccountException.class AccountBalanceException.class AccountDepositException.class \ AccountSecurityException.class AccountWithdrawException.class ACC = BasicAccount.class ProtectedAccount.class MinimumAccount.class RegularAccount.class accountExceptions: $(ACEX) accountClasses: $(ACC) BasicAccount.class: $(ACEX) BasicAccount.java javac BasicAccount.java ProtectedAccount.class: $(ACEX) ProtectedAccount.java javac BasicAccount.java %.class: %.java javac $< clean: rm -f *.class rm -f AccountKinds/*.class