CXX = gcc
CC = gcc
LD = gcc
CXXFLAGS = -DDEBUG -g -O0 -Wall
CFLAGS = $(CXXFLAGS)

LIBOBJS = scaction.o scguard.o scsignal.o scstate.o scstatechart.o sctimer.o sctimerlist.o sctransition.o
TESTOBJS = test.o
SCLIB = libsc.a
LIBS = -L. -lsc

all: test

test: sclib $(TESTOBJS)
	rm -f $@
	$(LD) -o $@ $(TESTOBJS) $(LIBS)

sclib: $(LIBOBJS)
	ar cru $(SCLIB) $(LIBOBJS)
	ranlib $(SCLIB)

.o:
	rm -f $@
	$(CXX) $(CXXFLAGS) -c $< -o $@

clean:
	rm -f *.o test test.exe core *.stackdump $(SCLIB)

run: all
	./test
