diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-05-28 18:41:04 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2016-06-10 18:06:59 -0400 |
commit | 40a360c2a4feef97a8f7041e655b2a42e51e0224 (patch) | |
tree | 75dfea3064d7c3243788c72cb9f30e2ce6241dea /rules.mk | |
parent | a73122191a7aba80f97332687a2e03cfb0336981 (diff) | |
download | talos-skeleton-40a360c2a4feef97a8f7041e655b2a42e51e0224.tar.gz talos-skeleton-40a360c2a4feef97a8f7041e655b2a42e51e0224.zip |
Reorganize directory structure
Moving to directory per-application layout. This facilitates
building single applications which is useful in the Yocto build
environment since different applications satisfy different OpenBMC
build requirements.
A number of issues are also addressed:
- All applications were pulling in libsystemd and the gdbus libs
irrespective of whether or not they were needed.
- gpio.o duplicated in every application - moved to libopenbmc_intf
- Added install target
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'rules.mk')
-rw-r--r-- | rules.mk | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/rules.mk b/rules.mk new file mode 100644 index 0000000..9cad8cf --- /dev/null +++ b/rules.mk @@ -0,0 +1,31 @@ +TOP := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))) + +.DEFAULT_GOAL := all +sbindir=/usr/sbin +libdir=/usr/lib + +LDLIBS+=$(shell pkg-config --libs $(PACKAGE_DEPS)) +CFLAGS+=$(shell pkg-config --cflags $(PACKAGE_DEPS)) -Werror + +INSTALLDEPS?=install-bins +BIN_SUFFIX?=.exe +DEFAULT_ALL?=$(BINS) + +all: $(DEFAULT_ALL) + +%.o: %.c + $(CC) -c $(CFLAGS) -fPIC -o $@ $< + +$(BINS): %: %.o $(EXTRA_OBJS) + $(CC) $(LDFLAGS) -o $@$(BIN_SUFFIX) $^ $(LDLIBS) + +install-bins: + @mkdir -p $(DESTDIR)$(sbindir) + @for b in $(BINS); do \ + install $$b$(BIN_SUFFIX) $(DESTDIR)$(sbindir) || exit 1; \ + done + +install: all $(INSTALLDEPS) + +clean: $(CLEANDEPS) + rm -rf *.o $(BINS:=$(BIN_SUFFIX)) |