diff --git a/Makefile b/Makefile index e2ad0f5..dcbc342 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,10 @@ all: $(MAKE) -C src all + $(MAKE) -C examples all + +install: + $(MAKE) -C src install clean: $(MAKE) -C src clean + $(MAKE) -C examples clean diff --git a/examples/Makefile b/examples/Makefile new file mode 100644 index 0000000..ce53a03 --- /dev/null +++ b/examples/Makefile @@ -0,0 +1,19 @@ +include ../mk/build.mk + +CC = $(CROSS)cc + +INCLUDE_PATH = ../include + +CFLAGS += -I$(INCLUDE_PATH) +LDFLAGS = -L../src -lpatty + +EXAMPLES = testserver testclient-connect testclient-listen testclient-promisc \ + decode + +all: $(EXAMPLES) + +$(EXAMPLES): %: %.c + $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) + +clean: + $(RM) -f $(EXAMPLES) diff --git a/src/decode.c b/examples/decode.c similarity index 100% rename from src/decode.c rename to examples/decode.c diff --git a/src/testclient-connect.c b/examples/testclient-connect.c similarity index 100% rename from src/testclient-connect.c rename to examples/testclient-connect.c diff --git a/src/testclient-listen.c b/examples/testclient-listen.c similarity index 100% rename from src/testclient-listen.c rename to examples/testclient-listen.c diff --git a/src/testclient-promisc.c b/examples/testclient-promisc.c similarity index 100% rename from src/testclient-promisc.c rename to examples/testclient-promisc.c diff --git a/src/testserver.c b/examples/testserver.c similarity index 100% rename from src/testserver.c rename to examples/testserver.c diff --git a/src/Makefile b/src/Makefile index 0003998..a0e17d2 100644 --- a/src/Makefile +++ b/src/Makefile @@ -14,8 +14,11 @@ HEADERS = kiss.h ax25.h ax25/if.h ax25/macros.h ax25/proto.h \ OBJS = kiss.o ax25.o if.o call.o frame.o sock.o route.o server.o \ list.o hash.o dict.o print.o -EXAMPLES = testserver testclient-connect testclient-listen testclient-promisc \ - decode +VERSION_MAJOR = 0 +VERSION_MINOR = 0.1 +VERSION = $(VERSION_MAJOR).$(VERSION_MINOR) + +LIBNAME = patty HEADERS_BUILD = $(addprefix $(INCLUDE_PATH)/$(HEADER_SUBDIR)/, $(HEADERS)) @@ -27,13 +30,31 @@ LN = /bin/ln RMDIR = /bin/rmdir INSTALL = /usr/bin/install -all: $(EXAMPLES) +all: $(STATIC) $(SONAME_FULL) $(SONAME) $(SONAME_SHORT) -$(EXAMPLES): %: %.c $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $< -o $@ +$(STATIC): $(OBJS) + $(AR) rc $(STATIC) $(OBJS) + $(RANLIB) $(STATIC) + +$(SONAME_FULL): $(OBJS) + $(CC) $(LLFLAGS) $(OBJS) $(LDFLAGS) -o $(SONAME_FULL) + +$(SONAME): $(SONAME_FULL) + $(LN) -s $< $@ + +$(SONAME_SHORT): $(SONAME_FULL) + $(LN) -s $< $@ $(OBJS): %.o: %.c $(HEADERS_BUILD) $(CC) $(CFLAGS) -c $< +install: $(SONAME_FULL) $(STATIC) + $(INSTALL) -c -m 0644 $(STATIC) $(PREFIX)/lib + $(INSTALL) -c -m 0755 $(SONAME_FULL) $(PREFIX)/lib + $(LN) -s -f $(SONAME_FULL) $(PREFIX)/lib/$(SONAME) + $(LN) -s -f $(SONAME_FULL) $(PREFIX)/lib/$(SONAME_SHORT) + $(INSTALL) -d -m 0755 $(PREFIX)/include/$(HEADER_SUBDIR) + $(INSTALL) -c -m 0644 $(HEADERS_BUILD) $(PREFIX)/include/$(HEADER_SUBDIR) + clean: - $(RM) -f $(EXAMPLES) $(OBJS) + $(RM) -f $(SONAME_SHORT) $(SONAME) $(SONAME_FULL) $(STATIC) $(OBJS)