SRC:=src/*.c INCLUDE:=include/ CFLAGS:=-g -Wall -pedantic LFLAGS:= BUILD:=build OBJ:=obj TEST_SRC:=src/test/main.c ifeq ($(shell uname), Linux) TARGET_TEST_EXT = else TARGET_TEST_EXT = .exe endif all: clean test clean: rm -f $(BUILD)/* rm -f $(OBJ)/* liblist: gcc -c $(CFLAGS) -I$(INCLUDE) $(SRC) mv *.o $(OBJ)/ ar rcs $(BUILD)/$@.a $(OBJ)/*.o test: liblist gcc $(TEST_SRC) $(CFLAGS) -I$(INCLUDE) -o $(BUILD)/$@$(TARGET_TEST_EXT) $(LFLAGS) $(BUILD)/liblist.a $(BUILD)/$@$(TARGET_TEST_EXT) install: cp $(BUILD)/*.a /usr/local/lib/ cp $(INCLUDE)/*.h /usr/local/include/ ln -sf /usr/local/lib/liblist.a /usr/lib/liblist.a ln -sf /usr/local/include/list.h /usr/include/list.h uninstall: rm /usr/local/lib/liblist.a rm /usr/local/include/list.h rm /usr/lib/liblist.a rm /usr/include/list.h