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 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 :=
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:
rm -f addmember addclub zfsaddhomedir config-test *.o
rm -f $(ALL_PROGS) $(EXT_PROGS) *.o
addmember: $(LIBCEO_OBJECTS) addmember.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-test: config-test.o parser.o
config.o: config.h config-vars.h
install: addmember addclub
install:
install -d $(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