# Semana 1: de C a Java y una primera clase.
#   make         compila todo a build/ (Java con javac; la versión en C con gcc)
#   make test    corre las demostraciones y la prueba JUnit de muestra
#   make clean   borra build/
JAVAC  = javac
JFLAGS = -Xlint:all -Werror
SRC    = $(wildcard *.java)
DEMOS  = Hello FromC StructStyle CardDemo
CC     = gcc
CFLAGS = -Wall -Wextra -Werror -O1

all: build/.stamp build/transit_card

build/transit_card: transit_card.c
	mkdir -p build
	$(CC) $(CFLAGS) -o $@ $<

build/.stamp: $(SRC)
	mkdir -p build
	$(JAVAC) $(JFLAGS) -cp $(JUNIT_JAR) -d build $(SRC)
	touch $@

test: all
	@echo "== transit_card (C)"; ./build/transit_card
	@for d in $(DEMOS); do echo "== $$d"; java -cp build $$d || exit 1; done
	java -jar $(JUNIT_JAR) execute --class-path build --scan-class-path \
	  --disable-banner --disable-ansi-colors --details=tree

clean:
	rm -rf build

.PHONY: all test clean
