I think you have problem with make targets for the objects files.
I don't have access to a Solaris machine at the moment, but this worked at my Linux machine.
SRC=src
INC=inc
OBJ=obj
BIN=bin
INCS=-I$(INC)
FLAGS=-g -Wall
CC=/usr/sfw/bin/gcc
SRCS=$(wildcard $(SRC)/*.cpp)
OBJS=$(SRCS:$(SRC)/%.cpp=$(OBJ)/%.o)
$(BIN)/out.exe: $(OBJS)
$(CC) $(INCS) $(LIBS) $(FLAGS) $(OBJS) -o $(BIN)/out.exe
$(OBJ)/%.o: $(SRC)/%.cpp
$(CC) $(INCS) $(LIBS) $(FLAGS) -c $< -o $@
clean:
rm -f obj/*.o bin/ussd