Rejigger the Makefile

It just wasn't complicated enough.
This commit is contained in:
Michael Spang 2009-01-30 22:38:02 -05:00
parent f56e928ed7
commit 597d6c5908
1 changed files with 36 additions and 18 deletions

View File

@ -4,32 +4,50 @@ INCLUDES := -I../include $(shell krb5-config --cflags)
override LDFLAGS += -std=gnu99 $(INCLUDES) override LDFLAGS += -std=gnu99 $(INCLUDES)
override CFLAGS += -std=gnu99 $(INCLUDES) override CFLAGS += -std=gnu99 $(INCLUDES)
LIBCEO_OBJECTS := util.o common.o config.o parser.o ldap.o krb5.o kadm.o addhomedir.o
LIBCEO_LDFLAGS := -lldap $(shell krb5-config --libs krb5 kadm-client)
DESTDIR := DESTDIR :=
PREFIX := /usr/local PREFIX := /usr/local
all: addmember addclub BIN_PROGS := addmember addclub zfsaddhomedir
EXT_PROGS := config-test
LIBCEO_OBJECTS := common.o addhomedir.o
LIBCEO_LDFLAGS :=
LIBCEO_PROGS := addmember addclub
LDAP_OBJECTS := ldap.o
LDAP_LDFLAGS := -lldap
LDAP_PROGS := addmember addclub
KRB5_OBJECTS := krb5.o kadm.o
KRB5_LDFLAGS := $(shell krb5-config --libs krb5 kadm-client)
KRB5_PROGS := addmember addclub
CONFIG_OBJECTS := config.o parser.o
CONFIG_LDFLAGS :=
CONFIG_PROGS := $(OLDCEO_PROGS) $(LDAP_PROGS) $(KRB5_PROGS) $(NET_PROGS)
UTIL_OBJECTS := util.o
UTIL_PROGS := config-test zfsaddhomedir $(CONFIG_PROGS)
all: $(BIN_PROGS) $(LIB_PROGS) $(EXT_PROGS)
clean: clean:
rm -f addmember addclub zfsaddhomedir config-test *.o rm -f $(ALL_PROGS) $(EXT_PROGS) *.o
addmember: $(LIBCEO_OBJECTS) addmember.o config-test: config-test.o parser.o
$(CC) $(LDFLAGS) $(LIBCEO_LDFLAGS) $^ -o $@
addclub: $(LIBCEO_OBJECTS) addclub.o
$(CC) $(LDFLAGS) $(LIBCEO_LDFLAGS) $^ -o $@
zfsaddhomedir: util.o zfsaddhomedir.o
$(CC) $(LDFLAGS) $^ -o $@
config-test: config-test.o parser.o util.o
$(CC) $(LDFLAGS) $^ -o $@
config.o: config.h config-vars.h config.o: config.h config-vars.h
install: addmember addclub install:
install -d $(DESTDIR)$(PREFIX)/bin install -d $(DESTDIR)$(PREFIX)/bin
install addmember addclub $(DESTDIR)$(PREFIX)/bin install addmember addclub $(DESTDIR)$(PREFIX)/bin
$(LIBCEO_PROGS): LDFLAGS += $(LIBCEO_LDFLAGS)
$(LIBCEO_PROGS): $(LIBCEO_OBJECTS)
$(LDAP_PROGS): LDFLAGS += $(LDAP_LDFLAGS)
$(LDAP_PROGS): $(LDAP_OBJECTS)
$(KRB5_PROGS): LDFLAGS += $(KRB5_LDFLAGS)
$(KRB5_PROGS): $(KRB5_OBJECTS)
$(CONFIG_PROGS): LDFLAGS += $(CONFIG_LDFLAGS)
$(CONFIG_PROGS): $(CONFIG_OBJECTS)
$(UTIL_PROGS): LDFLAGS += $(UTIL_LDFLAGS)
$(UTIL_PROGS): $(UTIL_OBJECTS)
.PHONY: clean all
.SECONDARY: zfsaddhomedir.o addmember.o addclub.o