| ifndef PREFIX | |
| PREFIX=/usr/local | |
| endif | |
| SHELL=/bin/bash | |
| SRCS_F = stpgd_main.c debug.c | |
| OBJS_F = $(SRCS_F:.c=.o) | |
| #SRCS_C = | |
| #OBJS_C = $(SRCS_C:.c=.o) | |
| SCST_INC_DIR := $(shell if [ -e "$$PWD/../../scst" ]; \ | |
| then echo "$$PWD/../../scst/include"; \ | |
| else echo "$(DESTDIR)$(PREFIX)/include/scst"; fi) | |
| DEBUG_INC_DIR := ../include | |
| INSTALL_DIR := $(DESTDIR)$(PREFIX)/sbin | |
| ON_STPG_DIR := $(DESTDIR)$(PREFIX)/bin/scst | |
| ON_STPG := $(ON_STPG_DIR)/scst_on_stpg | |
| CFLAGS += -O2 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes \ | |
| -I$(SCST_INC_DIR) -I$(DEBUG_INC_DIR) -D_GNU_SOURCE -D__USE_FILE_OFFSET64 \ | |
| -D__USE_LARGEFILE64 | |
| PROGS = stpgd | |
| LIBS = -lpthread | |
| CFLAGS += -Wextra -Wno-unused-parameter | |
| CFLAGS += $(LOCAL_CFLAGS) | |
| #CFLAGS += -DDEBUG_NOMEM | |
| -include ../../scst/build_mode | |
| echo := $(shell echo "usr/stpgd build mode: $(BUILD_MODE)" >& 2) | |
| BUILD_MODE_CFLAGS_ = -DTRACING -DDEBUG -DEXTRACHECKS \ | |
| -fno-inline -fno-inline-functions | |
| BUILD_MODE_CFLAGS_RELEASE = -DTRACING | |
| BUILD_MODE_CFLAGS_PERF = | |
| CFLAGS += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) | |
| all: $(PROGS) | |
| stpgd: .depend_f $(OBJS_F) | |
| $(CC) $(OBJS_F) $(LIBS) $(LOCAL_LD_FLAGS) -o $@ | |
| #cdrom_tgt: .depend_c $(OBJS_C) | |
| # $(CC) $(OBJS_C) $(LIBS) $(LOCAL_LD_FLAGS) -o $@ | |
| ifeq (.depend_f,$(wildcard .depend_f)) | |
| -include .depend_f | |
| endif | |
| #ifeq (.depend_c,$(wildcard .depend_c)) | |
| #-include .depend_c | |
| #endif | |
| %.o: %.c Makefile | |
| $(CC) -c -o $(@) $(CFLAGS) $(<) | |
| .depend_f: | |
| $(CC) -M $(CFLAGS) $(SRCS_F) >$(@) | |
| #.depend_c: | |
| # $(CC) -M $(CFLAGS) $(SRCS_C) >$(@) | |
| install: all | |
| install -d $(INSTALL_DIR) | |
| install -d $(ON_STPG_DIR) | |
| install -m 700 $(PROGS) $(INSTALL_DIR) | |
| install -m 700 scst_on_stpg $(ON_STPG) | |
| uninstall: | |
| rm -f $(INSTALL_DIR)/$(PROGS) | |
| clean: | |
| rm -f *.o $(PROGS) .depend* | |
| extraclean: clean | |
| rm -f *.orig *.rej | |
| 2release: | |
| -$(MAKE) clean | |
| 2debug: | |
| -$(MAKE) clean | |
| 2perf: | |
| -$(MAKE) clean | |
| release-archive: | |
| ../../scripts/generate-release-archive stpgd "$$(sed -n 's/^#define[[:blank:]]VERSION_STR[[:blank:]]*\"\([^\"]*\)\".*/\1/p' ../include/version.h)" | |
| .PHONY: all install uninstall clean extraclean 2release 2debug 2perf |