46 lines
1.2 KiB
Makefile
46 lines
1.2 KiB
Makefile
#
|
|
# LGPL/GPL code library
|
|
#
|
|
|
|
# Include configuration rules
|
|
include $(MAKEDIR)/lib.mk
|
|
|
|
REQFLAGS += -I$(SRC)/../gplinclude -I$(SRC)/../gplinclude/zzjson
|
|
|
|
GPLDIRS := $(SRC) $(addprefix $(SRC)/,disk dmi vpd acpi zzjson)
|
|
LIBOBJS := $(subst $(SRC)/,,$(foreach dir,$(GPLDIRS),$(patsubst %.c,%.o,$(wildcard $(dir)/*.c))))
|
|
|
|
BINDIR = /usr/bin
|
|
LIBDIR = /usr/lib
|
|
DATADIR = /usr/share
|
|
AUXDIR = $(DATADIR)/syslinux
|
|
INCDIR = /usr/include
|
|
COM32DIR = $(AUXDIR)/com32
|
|
|
|
all: makeoutputdirs libgpl.c32
|
|
|
|
makeoutputdirs:
|
|
@mkdir -p $(foreach b, \
|
|
$(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b))
|
|
|
|
libgpl.elf : $(LIBOBJS)
|
|
$(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
|
|
|
|
tidy dist clean:
|
|
find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \
|
|
xargs -0r rm -f
|
|
|
|
spotless: clean
|
|
rm -f *.c32
|
|
rm -f *~ \#* */*~ */\#*
|
|
|
|
# Mixing in the GPL include files is suboptimal, but I'm not sure
|
|
# there is a better way to do it.
|
|
install: all
|
|
mkdir -m 755 -p $(INSTALLROOT)$(COM32DIR)
|
|
install -m 644 libgpl.c32 $(INSTALLROOT)$(COM32DIR)
|
|
mkdir -p $(INSTALLROOT)$(COM32DIR)/include/
|
|
cp -r $(SRC)/../gplinclude $(INSTALLROOT)$(COM32DIR)/include/
|
|
|
|
-include .*.d */.*.d */*/.*.d
|