init commit
This commit is contained in:
commit
6300e42bb2
28 files changed
+104005
No files matched your search
@@ -0,0 +1,90 @@
|
||||
.DEFAULT_GOAL := all
|
||||
-include config.mk
|
||||
|
||||
ifeq ($(wildcard config.mk),)
|
||||
$(error Run ./configure first)
|
||||
endif
|
||||
|
||||
PREFIX ?= /usr/local
|
||||
BINDIR ?= $(PREFIX)/bin
|
||||
LIBDIR ?= $(PREFIX)/lib
|
||||
INCLUDEDIR ?= $(PREFIX)/include/ensifer
|
||||
DATADIR ?= $(PREFIX)/share/ensifer
|
||||
DOCDIR ?= $(PREFIX)/share/doc/ensifer
|
||||
MANDIR ?= $(PREFIX)/share/man
|
||||
|
||||
BUILD = build
|
||||
OBJDIR = $(BUILD)/obj
|
||||
LIBDIR_BUILD = $(BUILD)/lib
|
||||
BINDIR_BUILD = $(BUILD)/bin
|
||||
CORE_OBJS = $(OBJDIR)/enfilade.o $(OBJDIR)/tumbler.o
|
||||
S7_OBJS = $(OBJDIR)/enfilade_s7.o $(CORE_OBJS)
|
||||
|
||||
.PHONY: all clean distclean check test install uninstall version
|
||||
|
||||
version:
|
||||
@printf 'ensifer version %s\n' '$(VERSION)'
|
||||
|
||||
all: $(LIBDIR_BUILD)/libensifer.a $(LIBDIR_BUILD)/enfilade.so $(BINDIR_BUILD)/logan
|
||||
|
||||
$(OBJDIR) $(LIBDIR_BUILD) $(BINDIR_BUILD):
|
||||
@mkdir -p $@
|
||||
|
||||
$(OBJDIR)/%.o: src/%.c | $(OBJDIR)
|
||||
$(CC) $(CPPFLAGS) -Iinc $(CFLAGS) -fPIC -c $< -o $@
|
||||
|
||||
$(OBJDIR)/s7.o: src/s7.c inc/s7.h | $(OBJDIR)
|
||||
$(CC) $(CPPFLAGS) $(S7_CPPFLAGS) -Iinc $(CFLAGS) -w -c $< -o $@
|
||||
|
||||
$(LIBDIR_BUILD)/libensifer.a: $(CORE_OBJS) | $(LIBDIR_BUILD)
|
||||
$(AR) rcs $@ $(CORE_OBJS)
|
||||
|
||||
$(LIBDIR_BUILD)/enfilade.so: $(S7_OBJS) | $(LIBDIR_BUILD)
|
||||
$(CC) -shared $(LDFLAGS) -o $@ $(S7_OBJS) -lm
|
||||
|
||||
$(BINDIR_BUILD)/logan: src/logan.c $(OBJDIR)/s7.o $(S7_OBJS) inc/enfilade_s7.h | $(BINDIR_BUILD)
|
||||
$(CC) $(CPPFLAGS) $(S7_CPPFLAGS) -Iinc $(CFLAGS) $(LDFLAGS) -o $@ \
|
||||
src/logan.c $(OBJDIR)/s7.o $(S7_OBJS) -lm $(S7_LIBS)
|
||||
|
||||
$(BUILD)/tumbler-test: test/tumbler-test.c $(OBJDIR)/tumbler.o | $(BUILD)
|
||||
$(CC) $(CPPFLAGS) -Iinc $(CFLAGS) $(LDFLAGS) -o $@ $^
|
||||
|
||||
$(BUILD)/enfilade-test: test/enfilade-test.c $(CORE_OBJS) | $(BUILD)
|
||||
$(CC) $(CPPFLAGS) -Iinc $(CFLAGS) $(LDFLAGS) -o $@ $^
|
||||
|
||||
$(BUILD)/enfload: test/enfload.c $(OBJDIR)/s7.o $(S7_OBJS) inc/enfilade_s7.h | $(BUILD)
|
||||
$(CC) $(CPPFLAGS) $(S7_CPPFLAGS) -Iinc $(CFLAGS) $(LDFLAGS) -o $@ \
|
||||
test/enfload.c $(OBJDIR)/s7.o $(S7_OBJS) -lm $(S7_LIBS)
|
||||
|
||||
$(BUILD):
|
||||
@mkdir -p $@
|
||||
|
||||
check test: $(BUILD)/tumbler-test $(BUILD)/enfilade-test $(BUILD)/enfload
|
||||
$(BUILD)/tumbler-test
|
||||
$(BUILD)/enfilade-test
|
||||
$(BUILD)/enfload
|
||||
|
||||
install: all
|
||||
$(INSTALL) -d $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR) \
|
||||
$(DESTDIR)$(DATADIR)/scheme $(DESTDIR)$(DOCDIR) $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man7
|
||||
$(INSTALL) -m 755 $(BINDIR_BUILD)/logan $(DESTDIR)$(BINDIR)/logan
|
||||
$(INSTALL) -m 644 $(LIBDIR_BUILD)/libensifer.a $(DESTDIR)$(LIBDIR)/libensifer.a
|
||||
$(INSTALL) -m 755 $(LIBDIR_BUILD)/enfilade.so $(DESTDIR)$(LIBDIR)/enfilade.so
|
||||
$(INSTALL) -m 644 inc/enfilade.h inc/tumbler.h inc/s7.h inc/enfilade_s7.h $(DESTDIR)$(INCLUDEDIR)/
|
||||
$(INSTALL) -m 644 scheme/enf.scm scheme/cload.scm scheme/libc.scm scheme/libdl.scm $(DESTDIR)$(DATADIR)/scheme/
|
||||
$(INSTALL) -m 644 README.md doc/USAGE $(DESTDIR)$(DOCDIR)/
|
||||
$(INSTALL) -m 644 doc/enfilade.3 doc/tumbler.3 $(DESTDIR)$(MANDIR)/man3/
|
||||
$(INSTALL) -m 644 doc/enfilade-s7.7 doc/ensifer.7 doc/tumbler-s7.7 $(DESTDIR)$(MANDIR)/man7/
|
||||
|
||||
uninstall:
|
||||
rm -f $(DESTDIR)$(BINDIR)/logan $(DESTDIR)$(LIBDIR)/libensifer.a $(DESTDIR)$(LIBDIR)/enfilade.so
|
||||
rm -f $(DESTDIR)$(INCLUDEDIR)/enfilade.h $(DESTDIR)$(INCLUDEDIR)/tumbler.h $(DESTDIR)$(INCLUDEDIR)/s7.h $(DESTDIR)$(INCLUDEDIR)/enfilade_s7.h
|
||||
rm -f $(DESTDIR)$(MANDIR)/man3/enfilade.3 $(DESTDIR)$(MANDIR)/man3/tumbler.3
|
||||
rm -f $(DESTDIR)$(MANDIR)/man7/enfilade-s7.7 $(DESTDIR)$(MANDIR)/man7/ensifer.7 $(DESTDIR)$(MANDIR)/man7/tumbler-s7.7
|
||||
rm -rf $(DESTDIR)$(DATADIR) $(DESTDIR)$(DOCDIR)
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD)
|
||||
|
||||
distclean: clean
|
||||
rm -f config.mk config.h config.log
|
||||
Reference in new issue
Block a user