PROG = sas-da-led LIBNAME = mpt_sas_da_led # 64bit may work, but not tested (look for *PATH adjustments) AND remember: # fmd is 32bit and tries to load this *.so plugin ABI=32 OPT += -xO3 -xstrconst WARN += -errtags=yes -errwarn=%all LD_RUNPATH_32 = '$$ORIGIN:$$ORIGIN/../lib:$$ORIGIN/../lib/fm' LD_RUNPATH_64 = '$$ORIGIN:$$ORIGIN/../lib/amd64:$$ORIGIN/../lib/fm/amd64' LDFLAGS_32 = -L/usr/lib/fm LDFLAGS_64 = -L/usr/lib/fm/amd64 CPPFLAGS += -m$(ABI) -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT CFLAGS += -g $(OPT) $(WARN) GSHARED = -G LDFLAGS += -zignore -zdefs -Bdirect -zguidance -zdiscard-unused=dependencies LDLIBS += -R$(LD_RUNPATH_$(ABI)) $(LDFLAGS_$(ABI)) DYNFLAGS += -ztext SRC_MAIN = sas-da-led.c OBJ_MAIN = $(SRC_MAIN:%.c=%.o) LIBS_MAIN = -ldevinfo LIB = $(LIBNAME).so SONAME = $(LIB) SRC_LIB = mpt_sas_da_led.c OBJ_LIB = $(SRC_LIB:%.c=%.o) LIBS_LIB = -ltopo -lnvpair -lc CLEANFILES += core $(OBJ_MAIN) $(PROG) $(OBJ_LIB) $(LIB) all: $(PROG) $(LIB) .c: $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) .c.o: $(CC) $(CFLAGS) $(CPPFLAGS) -c $(OUTPUT_OPTION) $< $(PROG) := LDLIBS += $(LIBS_MAIN) $(LIB) := LDLIBS += $(LIBS_LIB) $(LIB) := CFLAGS += -K PIC -mt $(PROG): $(OBJ_MAIN) $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $(OBJ_MAIN) $(LDLIBS) $(LIB): $(OBJ_LIB) $(CC) -o $@ $(GSHARED) -h $(SONAME) $(DYNFLAGS) $(OBJ_LIB) $(LDFLAGS) $(LDLIBS) clean: $(RM) $(CLEANFILES)