
# CC=clang
# CFLAGS=-I.
# DEPS = queues.h utilities.h types.h symbol.h simpleADL.h Tokens.h TokPrivate.h 
# SRC = simpleADL.c utilities.c TokUtilities.c TokName.c Tokens.c symbol.c queues.c generateAsm.c generateModel.c

# %.o: %.c $(DEPS)
# 	$(CC) -Ofast -c -o $@ $< $(CFLAGS)

# simpleADL: $(SRC)
# 	$(CC) -Ofast -o $@ $(SRC) -I.

# clean:
# 	rm -f *.o

#################### better #################

# this is modeled after the axample in
# https://www.gnu.org/software/make/manual/html_node/make-Deduces.html#make-Deduces

CC = clang
DEPS = queues.h utilities.h types.h symbol.h simpleADL.h Tokens.h TokPrivate.h 

objects = simpleADL.o utilities.o TokUtilities.o TokName.o Tokens.o symbol.o queues.o generateAsm.o generateModel.o

sADL : $(objects)
	echo "making simpleADL as sADL"
	$(CC) -o sADL $(objects)
	sudo cp sADL /usr/local/bin

simpleADL.o : $(DEPS) 
utilities.o : $(DEPS) 
TokUtilities.o : $(DEPS) 
TokName.o : $(DEPS) 
Tokens.o : $(DEPS) 
symbol.o : $(DEPS) 
queues.o : $(DEPS) 
generateAsm.o : $(DEPS) 
generateModel.o : $(DEPS)

.PHONY : clean
clean :
	rm sADL $(objects)
