# $Id$ ifndef CC CC := cc endif DIR := $(shell pwd) BIN := $(DIR)/bin LIB := $(DIR)/lib OBJ := $(DIR)/obj SRC := $(DIR)/src TEST := $(DIR)/test INC := $(DIR)/include PREFIX := /usr $(shell mkdir -p $(OBJ) $(LIB) $(BIN)) CFLAGS := -std=c99 -I$(INC) -fPIC LDFLAGS := ifeq ($(shell uname -s),Linux) CFLAGS += -D_BSD_SOURCE endif LIBS := ifeq ($(shell uname -s),SunOS) LIBS += -lsocket endif .PHONY: all clean install ifeq ($(shell uname -s),SunOS) all: $(LIB)/libserver.a $(LIB)/libserver.so else all: $(LIB)/libserver.a $(LIB)/libserver.so endif install: all mkdir -p $(PREFIX)/lib $(PREFIX)/include cp $(LIB)/* $(PREFIX)/lib/ cp $(INC)/* $(PREFIX)/include/ clean: rm -rf $(LIB) $(OBJ) $(BIN)/%: $(TEST)/%.c $(LIB)/libserver.a $(CC) $(CFLAGS) -o $@ $^ $(LIB)/libserver.a: $(OBJ)/server.o ar rcs $@ $^ $(LIB)/libserver.so: $(OBJ)/server.o $(CC) $(LDFLAGS) -shared -o $@ $< $(LIBS) $(OBJ)/%.o: $(SRC)/%.c $(INC)/ls_%.h $(CC) $(CFLAGS) -c -o $@ $<