Obsolete
/
libipc-old
Archived
3
0
Fork 0
This repository has been archived on 2024-06-18. You can view files and clone it, but cannot push or open issues/pull-requests.
libipc-old/Makefile

247 lines
9.0 KiB
Makefile
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

PACKAGE = 'perfect-os-junk'
VERSION = '0.0.1'
PREFIX := /usr/local
BINDIR := $(PREFIX)/bin
LIBDIR := $(PREFIX)/lib
SHAREDIR := $(PREFIX)/share
INCLUDEDIR := $(PREFIX)/include
CC := cc
AR := ar
RANLIB := ranlib
CFLAGS := -O2 -Wall -Wextra -Wshadow -ansi -pedantic -std=c99
LDFLAGS :=
Q := @
all: libposj init-connection service-test
libposj: libposj.so libposj.a
@:
libposj.install: libposj.so.install libposj.a.install
libposj.clean: libposj.so.clean libposj.a.clean
libposj.uninstall: libposj.so.uninstall libposj.a.uninstall
init-connection: init-connection.o lib/communication.o
@echo ' [LD] init-connection'
$(Q)$(CC) -o init-connection $(LDFLAGS) init-connection.o lib/communication.o
init-connection.install: init-connection
@echo ' [IN] $(BINDIR)/init-connection'
$(Q)mkdir -p '$(DESTDIR)$(BINDIR)'
$(Q)install -m0755 init-connection $(DESTDIR)$(BINDIR)/init-connection
init-connection.clean: init-connection.o.clean lib/communication.o.clean
@echo ' [RM] init-connection'
$(Q)rm -f init-connection
init-connection.uninstall:
@echo ' [RM] $(BINDIR)/init-connection'
$(Q)rm -f '$(DESTDIR)$(BINDIR)/init-connection'
service-test: service-test.o lib/communication.o
@echo ' [LD] service-test'
$(Q)$(CC) -o service-test $(LDFLAGS) service-test.o lib/communication.o
service-test.install: service-test
@echo ' [IN] $(BINDIR)/service-test'
$(Q)mkdir -p '$(DESTDIR)$(BINDIR)'
$(Q)install -m0755 service-test $(DESTDIR)$(BINDIR)/service-test
service-test.clean: service-test.o.clean lib/communication.o.clean
@echo ' [RM] service-test'
$(Q)rm -f service-test
service-test.uninstall:
@echo ' [RM] $(BINDIR)/service-test'
$(Q)rm -f '$(DESTDIR)$(BINDIR)/service-test'
libposj.so: lib/communication.o
@echo ' [LD] libposj.so'
$(Q)$(CC) -o libposj.so -shared $(LDFLAGS) lib/communication.o
libposj.so.install: libposj.so
@echo ' [IN] $(LIBDIR)/libposj.so.0.0.1'
$(Q)mkdir -p '$(DESTDIR)$(LIBDIR)'
$(Q)install -m0755 libposj.so $(DESTDIR)$(LIBDIR)/libposj.so.0.0.1
@echo ' [LN] $(LIBDIR)/libposj.so.0.0'
$(Q)ln -sf '$(LIBDIR)/libposj.so.0.0.1' '$(DESTDIR)/$(LIBDIR)/libposj.so.0.0'
@echo ' [LN] $(LIBDIR)/libposj.so.0'
$(Q)ln -sf '$(LIBDIR)/libposj.so.0.0.1' '$(DESTDIR)/$(LIBDIR)/libposj.so.0'
@echo ' [LN] $(LIBDIR)/libposj.so'
$(Q)ln -sf '$(LIBDIR)/libposj.so.0.0.1' '$(DESTDIR)/$(LIBDIR)/libposj.so'
libposj.so.clean:
@echo ' [RM] libposj.so'
$(Q)rm -f libposj.so
libposj.so.uninstall:
@echo ' [RM] $(LIBDIR)/libposj.so.0.0.1'
$(Q)rm -f '$(DESTDIR)$(LIBDIR)/libposj.so.0.0.1'
@echo ' [RM] $(LIBDIR)/libposj.so.0.0'
$(Q)rm -f '$(DESTDIR)$(LIBDIR)/libposj.so.0.0'
@echo ' [RM] $(LIBDIR)/libposj.so.0'
$(Q)rm -f '$(DESTDIR)$(LIBDIR)/libposj.so.0'
@echo ' [RM] $(LIBDIR)/libposj.so'
$(Q)rm -f '$(DESTDIR)$(LIBDIR)/libposj.so'
libposj.a: lib/communication.o
@echo ' [LD] libposj.a'
$(Q)$(AR) rc 'libposj.a' lib/communication.o
libposj.a.install: libposj.a
@echo ' [IN] $(LIBDIR)/libposj.a'
$(Q)mkdir -p '$(DESTDIR)$(LIBDIR)'
$(Q)install -m0755 libposj.a $(DESTDIR)$(LIBDIR)/libposj.a
libposj.a.clean:
@echo ' [RM] libposj.a'
$(Q)rm -f libposj.a
libposj.a.uninstall:
@echo ' [RM] $(LIBDIR)/libposj.a'
$(Q)rm -f '$(DESTDIR)$(LIBDIR)/libposj.a'
init-connection.o: init-connection.c ./lib/communication.h
@echo ' [CC] init-connection.o'
$(Q)$(CC) $(CFLAGS) -c init-connection.c -o init-connection.o
init-connection.o.install:
init-connection.o.clean:
@echo ' [RM] init-connection.o'
$(Q)rm -f init-connection.o
init-connection.o.uninstall:
lib/communication.o: lib/communication.c lib/communication.h
@echo ' [CC] lib/communication.o'
$(Q)$(CC) $(CFLAGS) -fPIC -c lib/communication.c -fPIC -o lib/communication.o
lib/communication.o.install:
lib/communication.o.clean:
@echo ' [RM] lib/communication.o'
$(Q)rm -f lib/communication.o
lib/communication.o.uninstall:
service-test.o: service-test.c ./lib/communication.h
@echo ' [CC] service-test.o'
$(Q)$(CC) $(CFLAGS) -c service-test.c -o service-test.o
service-test.o.install:
service-test.o.clean:
@echo ' [RM] service-test.o'
$(Q)rm -f service-test.o
service-test.o.uninstall:
$(DESTDIR)$(PREFIX):
@echo ' [DIR] $(PREFIX)'
$(Q)mkdir -p $(DESTDIR)$(PREFIX)
$(DESTDIR)$(BINDIR):
@echo ' [DIR] $(BINDIR)'
$(Q)mkdir -p $(DESTDIR)$(BINDIR)
$(DESTDIR)$(LIBDIR):
@echo ' [DIR] $(LIBDIR)'
$(Q)mkdir -p $(DESTDIR)$(LIBDIR)
$(DESTDIR)$(SHAREDIR):
@echo ' [DIR] $(SHAREDIR)'
$(Q)mkdir -p $(DESTDIR)$(SHAREDIR)
$(DESTDIR)$(INCLUDEDIR):
@echo ' [DIR] $(INCLUDEDIR)'
$(Q)mkdir -p $(DESTDIR)$(INCLUDEDIR)
install: subdirs.install libposj.install init-connection.install service-test.install libposj.so.install libposj.a.install init-connection.o.install lib/communication.o.install service-test.o.install lib/communication.o.install lib/communication.o.install lib/communication.o.install
@:
subdirs.install:
uninstall: subdirs.uninstall libposj.uninstall init-connection.uninstall service-test.uninstall libposj.so.uninstall libposj.a.uninstall init-connection.o.uninstall lib/communication.o.uninstall service-test.o.uninstall lib/communication.o.uninstall lib/communication.o.uninstall lib/communication.o.uninstall
@:
subdirs.uninstall:
test: all subdirs subdirs.test
@:
subdirs.test:
clean: libposj.clean init-connection.clean service-test.clean libposj.so.clean libposj.a.clean init-connection.o.clean lib/communication.o.clean service-test.o.clean lib/communication.o.clean lib/communication.o.clean lib/communication.o.clean
distclean: clean
dist: dist-gz dist-xz dist-bz2
$(Q)rm -- $(PACKAGE)-$(VERSION)
distdir:
$(Q)rm -rf -- $(PACKAGE)-$(VERSION)
$(Q)ln -s -- . $(PACKAGE)-$(VERSION)
dist-gz: $(PACKAGE)-$(VERSION).tar.gz
$(PACKAGE)-$(VERSION).tar.gz: distdir
@echo ' [TAR] $(PACKAGE)-$(VERSION).tar.gz'
$(Q)tar czf $(PACKAGE)-$(VERSION).tar.gz \
$(PACKAGE)-$(VERSION)/init-connection.c \
$(PACKAGE)-$(VERSION)/service-test.c \
$(PACKAGE)-$(VERSION)/lib/communication.c \
$(PACKAGE)-$(VERSION)/lib/communication.h
dist-xz: $(PACKAGE)-$(VERSION).tar.xz
$(PACKAGE)-$(VERSION).tar.xz: distdir
@echo ' [TAR] $(PACKAGE)-$(VERSION).tar.xz'
$(Q)tar cJf $(PACKAGE)-$(VERSION).tar.xz \
$(PACKAGE)-$(VERSION)/init-connection.c \
$(PACKAGE)-$(VERSION)/service-test.c \
$(PACKAGE)-$(VERSION)/lib/communication.c \
$(PACKAGE)-$(VERSION)/lib/communication.h
dist-bz2: $(PACKAGE)-$(VERSION).tar.bz2
$(PACKAGE)-$(VERSION).tar.bz2: distdir
@echo ' [TAR] $(PACKAGE)-$(VERSION).tar.bz2'
$(Q)tar cjf $(PACKAGE)-$(VERSION).tar.bz2 \
$(PACKAGE)-$(VERSION)/init-connection.c \
$(PACKAGE)-$(VERSION)/service-test.c \
$(PACKAGE)-$(VERSION)/lib/communication.c \
$(PACKAGE)-$(VERSION)/lib/communication.h
help:
@echo ' :: perfect-os-junk-0.0.1'
@echo ''
@echo 'Generic targets:'
@echo ' - help Prints this help message.'
@echo ' - all Builds all targets.'
@echo ' - dist Creates tarballs of the files of the project.'
@echo ' - install Installs the project.'
@echo ' - clean Removes compiled files.'
@echo ' - uninstall Deinstalls the project.'
@echo ''
@echo 'CLI-modifiable variables:'
@echo ' - CC ${CC}'
@echo ' - CFLAGS ${CFLAGS}'
@echo ' - LDFLAGS ${LDFLAGS}'
@echo ' - DESTDIR ${DESTDIR}'
@echo ' - PREFIX ${PREFIX}'
@echo ' - BINDIR ${BINDIR}'
@echo ' - LIBDIR ${LIBDIR}'
@echo ' - SHAREDIR ${SHAREDIR}'
@echo ' - INCLUDEDIR ${INCLUDEDIR}'
@echo ''
@echo 'Project targets: '
@echo ' - libposj library'
@echo ' - init-connectionbinary'
@echo ' - service-test binary'
@echo ''
@echo 'Makefile options:'
@echo ' - gnu: true'
@echo ' - colors: true'
@echo ''
@echo 'Rebuild the Makefile with:'
@echo ' zsh ./build.zsh -c -g'
.PHONY: all subdirs clean distclean dist install uninstall help