LIB = xaal # DEMOS = dumper \ # dummyLamp lampCommander \ # thermoPC thermoWatch \ # tattler \ # schemory schemaDumper \ # metadatadb metadatadbTester DEMOS = dumper \ dummyLamp lampCommander INSTALL_DIR = /usr/local CFLAGS = -Wall -I. -g LDFLAGS = LOADLIBES = -ljson-c -luuid -L. -lsodium -l$(LIB) INSTALL= install -c all: lib$(LIB).a lib$(LIB).so $(DEMOS) lib$(LIB).a: lib$(LIB).o $(AR) rc $@ $^ lib$(LIB).so: lib$(LIB).c $(CC) $(CFLAGS) $(LDFLAGS) -fPIC -shared -o $@ $< $(DEMOS): lib$(LIB).so thermoPC: thermoPC.c $(LINK.c) $^ $(LOADLIBES) -lsensors $(LDLIBS) -o $@ tattler: tattler.c $(LINK.c) $^ $(LOADLIBES) -lmnl $(LDLIBS) -o $@ schemory: schemory.c $(LINK.c) $^ $(LOADLIBES) -lcurl $(LDLIBS) -o $@ metadatadb: metadatadb.c $(LINK.c) $^ $(LOADLIBES) -lsqlite3 $(LDLIBS) -o $@ clean: -rm -f *.o *~ proper: clean -rm -f lib$(LIB).a lib$(LIB).so $(DEMOS) install: lib$(LIB).a lib$(LIB).so $(LIB).h $(INSTALL) -d $(INSTALL_DIR) $(INSTALL) -m 0755 -s lib$(LIB).so $(INSTALL_DIR)/lib/ $(INSTALL) -m 0644 -s lib$(LIB).a $(INSTALL_DIR)/lib/ $(INSTALL) -m 0644 $(LIB).h $(INSTALL_DIR)/include/ ldconfig $(INSTALL_DIR)/lib/ test: all @echo " " You can test $(DEMOS) @echo " " First, do: export LD_LIBRARY_PATH+=:. @echo " " Then, eg.: @/bin/echo -e "" $(foreach i,$(DEMOS)," ./$(i) -a 224.0.29.200 -p 1234 -P my_secret\n") Makefile.dep: lib$(LIB).c $(DEMOS:=.c) $(CC) $(CFLAGS) -MM $^ > $@ include Makefile.dep .PHONY: all clean proper install test .SUFFIXES: .a