# vim: ts=4 sw=4 sts=4 fenc=utf-8 ff=unix : # ===================================================================== # Makefile for libsc # ===================================================================== # --------------------------------------------------------------------- # SETTING & OPTION # --------------------------------------------------------------------- TARGET = kscript.exe SRCDIR = src SRCS = $(wildcard src/*.c) OBJS = $(SRCS:src/%.c=obj/%.o) INCLUDES = -Iinclude -Itests CFLAGS = -Wall `./sc-config --cflags` LDFLAGS = LIBS = `./sc-config --libs` # for tests TESTTARGET = libsctest.exe TESTSRCS = $(wildcard tests/*.c) TESTOBJS = $(TESTSRCS:tests/%.c=tests/%.o) $(SRCS:src/%.c=tests/%.o) TESTCFLAGS = $(CFLAGS) -DSC_DEBUG -g -fprofile-arcs -ftest-coverage #TESTCFLAGS = $(CFLAGS) -g -fprofile-arcs -ftest-coverage TESTLIBS = `./sc-config --libs` .SUFFIXES: .o .c # --------------------------------------------------------------------- # COMMANDS # --------------------------------------------------------------------- AS = as AR = ar CC = gcc CP = cp MV = mv RANLIB = ranlib RM = rm STRIP = strip all: $(TARGET) test: $(TESTTARGET) $(TARGET): $(OBJS) $(CC) $(LDFLAGS) -o $(TARGET) $^ $(LIBS) obj/%.o: src/%.c $(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $< clean: $(RM) -f $(TARGET) $(OBJS) $(RM) -f $(TESTTARGET) $(TESTOBJS) $(TESTS) $(RM) -f *~ */*~ $(RM) -f unittest.tmp $(RM) -f */*.gcno */*.gcda $(RM) -f *.c.gcov $(TESTTARGET): $(TESTOBJS) $(CC) $(TESTCFLAGS) -o $(TESTTARGET) $^ $(TESTLIBS) tests/%.o: src/%.c $(CC) $(INCLUDES) $(TESTCFLAGS) -c -o $@ $< tests/%.o: tests/%.c $(CC) $(INCLUDES) $(TESTCFLAGS) -c -o $@ $<