apparmor/parser/libapparmor_re/Makefile
John Johansen 7cc7f47424 parser: fix and cleanup libapparmor_re/Makefile
The Makefile is missing some of its .h depenedncies causing compiles
to either fail or worse result in bad builds when rebuilding in an
already built tree.

Move the header dependencies into a variable and use it for each
target. While some targets don't need every include as a dependency
and this will result in unnecessary rebuilds in some cases, it makes
the Makefile cleaner, easier to maintain and makes sure a dependency
isn't accidentally missed.

Signed-off-by: John Johansen <john.johansen@canonical.com>
2024-11-06 09:20:51 -08:00

52 lines
1,015 B
Makefile

# Profiling:
#EXTRA_CFLAGS = -pg
ifdef USE_SYSTEM
# Using the system libapparmor
INCLUDE_APPARMOR =
else
INCLUDE_APPARMOR = -I../../libraries/libapparmor/include
endif
TARGET=libapparmor_re.a
AR ?= ar
CFLAGS ?= -g -Wall -O2 ${EXTRA_CFLAGS} -std=gnu++0x
CXXFLAGS := ${CFLAGS} ${INCLUDE_APPARMOR}
LIB_HDRS = aare_rules.h flex-tables.h apparmor_re.h hfa.h chfa.h parse.h \
expr-tree.h policy_compat.h
OTHER_HDRS = ../common_optarg.h ../common_flags.h ../immunix.h \
../policydb.h ../perms.h ../rule.h
HDRS = ${LIB_HDRS} ${OTHER_HDRS}
ARFLAGS=-rcs
BISON := bison
all : ${TARGET}
UNITTESTS = tst_parse
libapparmor_re.a: parse.o expr-tree.o hfa.o chfa.o aare_rules.o policy_compat.o
${AR} ${ARFLAGS} $@ $^
expr-tree.o: expr-tree.cc expr-tree.h
hfa.o: hfa.cc ${HDRS}
aare_rules.o: aare_rules.cc ${HDRS}
chfa.o: chfa.cc ${HDRS}
policy_compat.o: policy_compat.cc ${HDRS}
parse.o : parse.cc ${HDRS}
parse.cc : parse.y ${HDRS}
${BISON} -o $@ $<
clean:
rm -f *.o parse.cc ${TARGET} *.gcda *.gcno