hexagram/src/Makefile
2023-12-27 01:01:21 -05:00

64 lines
1.7 KiB
Makefile

include ../mk/build.mk
INCLUDE_PATH = ../include
HEADER_SUBDIR = hexagram
CC = $(CROSS)cc
CFLAGS += -fPIC -I$(INCLUDE_PATH) $(shell pkg-config --cflags cairo x11)
LDFLAGS = $(shell pkg-config --libs cairo x11) -lXext
HEADERS = dict.h hash.h can.h capture.h pcapng.h module.h window.h \
gauge.h tacho.h speedo.h thermo.h fuel.h mfd.h cluster.h \
sim.h schedule.h
HEADERS_LOCAL = util.h
OBJS = dict.o hash.o can.o capture.o pcapng.o module.o window.o \
gauge.o tacho.o speedo.o thermo.o fuel.o mfd.o cluster.o \
sim.o schedule.o
VERSION_MAJOR = 0
VERSION_MINOR = 0.1
VERSION = $(VERSION_MAJOR).$(VERSION_MINOR)
LIBNAME = hexagram
HEADERS_BUILD = $(addprefix $(INCLUDE_PATH)/$(HEADER_SUBDIR)/, $(HEADERS))
AR = $(CROSS)ar
RANLIB = $(CROSS)ranlib
RM = rm
LN = ln
RMDIR = rmdir
INSTALL = install
all: $(STATIC) $(SONAME_FULL) $(SONAME) $(SONAME_SHORT)
$(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) $(HEADERS_LOCAL)
$(CC) $(CFLAGS) -c $<
install: $(SONAME_FULL) $(STATIC)
$(INSTALL) -d -m 0755 $(PREFIX)/lib
$(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 $(SONAME_SHORT) $(SONAME) $(SONAME_FULL) $(STATIC) $(OBJS)