72 lines
1.6 KiB
Makefile
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
|