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
|