src/include/mk/hhl.cprog.mk

72 lines
1.6 KiB
Makefile

# hhl.cprog.mk - hhl - /usr/include/mk
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
internal = true
src ?= ./src
objdir ?= ${global_objdir}/${progname}
srcs += $(wildcard ${src}/*.c)
objs += $(patsubst ${src}/%.c,${objdir}/%.o,${srcs})
hdrs += $(wildcard ${src}/*.h)
o_lvl ?= -O2
include world.mk
include hhl.doc.mk
include hhl.locale.mk
include hhl.colors.mk
CC = $(tgt)-gcc
AR = $(tgt)-ar
RANLIB = $(tgt)-ranlib
BLD_CC ?= cc
ifeq (${sbin},1)
bindir = ${sbindir}
binprog = ${sbindir}/${progname}
else
binprog = ${bindir}/${progname}
endif
ldflags += -I${src}
cflags += ${o_lvl}
cflags += --sysroot=$(DESTDIR)
ifeq (${hhl_source},1)
cflags += -std=c99
cflags += -Wall
cflags += -pedantic
endif
VPATH += ${src}
install: ${binprog} ${docs} ${locales} | ${binlinks} ${manlinks}
$(info $(grn)=== Finished building $(progname) ===$(reset))
ifeq (${onestage},true)
${binprog}: ${srcs} ${hdrs} | ${bindir}
$(info $(grn)=== Building for ${progname} ===$(reset))
${pre_build}
$(CC) ${cppflags} ${cflags} ${ldflags} -o $@ ${srcs} ${libs}
${post_build}
else
${objdir}:
$(info $(grn)=== Building for $(progname) ===$(reset))
${pre_build}
install -d ${objdir}
${binprog}: ${objs} | ${bindir}
$(CC) ${cflags} -o $@ ${objs} ${libs}
${post_build}
${objdir}/%.o: ${src}/%.c ${hdrs} | ${objdir}
$(CC) ${cppflags} ${cflags} ${ldflags} -o $@ -c $<
endif
${binlinks}: ${binprog}
ln -sf ${progname} $@
${bindir}:
install -d $@
clean:
rm -rf ${objs}
.PHONY: install clean