# Note: gnu99 (instead of c99) required for libcutils-net
NAME = cutils
+NAMES = $(NAME) check net
srcdir = cutils
dstdir = ../bin
CFLAGS += -Wall -pedantic -I./ -std=gnu99
CXXFLAGS += -Wall -pedantic -I./
+# LDFLAGS += -lcheck
PREFIX = /usr/local
ifdef DEBUG
CXXFLAGS += -ggdb -O0
endif
-.PHONY: all install uninstall clean mrpropre mrpropre \
- utils check net
+.PHONY: all build install uninstall clean mrpropre mrpropre \
+ $(NAMES)
-all: utils check net
+SOURCES=$(wildcard $(srcdir)/*.c)
+HEADERS=$(wildcard $(srcdir)/*.h)
+OBJECTS=$(SOURCES:%.c=%.o)
-utils: $(dstdir)/libcutils.o
+# Main targets
-check: $(dstdir)/libcutils-check.o
+all: build
-net: $(dstdir)/libcutils-net.o
+build: $(NAMES)
-SOURCES=$(wildcard $(srcdir)/*.c)
-HEADERS=$(wildcard $(srcdir)/*.h)
-OBJECTS=$(SOURCES:%.c=%.o)
+cutils: $(dstdir)/libcutils.o
+check: $(dstdir)/libcutils-check.o
+net: $(dstdir)/libcutils-net.o
+################
+# Dependencies #
+################
+# OBJECTS+=$(dstdir)/libcutils.o
+# $(dstdir)/libcutils.o:
+# $(MAKE) --no-print-directory -C cutils/ cutils
$(srcdir)/array.o: $(srcdir)/array.[ch]
$(srcdir)/desktop.o: $(srcdir)/desktop.[ch] $(srcdir)/array.h
+################
$(dstdir)/libcutils.o: $(OBJECTS)
mkdir -p $(dstdir)
$(MAKE) -f $(srcdir)/makefile.d DEBUG=1
clean:
- rm -f $(srcdir)/*.o $(srcdir)/check/*.o $(srcdir)/net/*.o
+ rm -f $(srcdir)/*.o $(srcdir)/*/*.o
mrproper: mrpropre
rmdir $(dstdir) 2>/dev/null || true
install:
+ mkdir -p "$(PREFIX)/lib"
cp $(dstdir)/libcutils.o "$(PREFIX)/lib/libcutils.a"
cp $(dstdir)/libcutils-check.o "$(PREFIX)/lib/libcutils-check.a"
cp $(dstdir)/libcutils-net.o "$(PREFIX)/lib/libcutils-net.a"
rm "$(PREFIX)/lib/libcutils.a"
rm "$(PREFIX)/lib/libcutils-check.a"
rm "$(PREFIX)/lib/libcutils-net.a"
+ rmdir "$(PREFIX)/lib/" 2>/dev/null
rm "$(PREFIX)/include/$(srcdir)/net/"*.h
rm "$(PREFIX)/include/$(srcdir)/check/"*.h
rm "$(PREFIX)/include/$(srcdir)/"*.h
rmdir "$(PREFIX)/include/$(srcdir)/net" 2>/dev/null
rmdir "$(PREFIX)/include/$(srcdir)/check" 2>/dev/null
rmdir "$(PREFIX)/include/$(srcdir)" 2>/dev/null
+ rmdir "$(PREFIX)/include/" 2>/dev/null