include ../../Makefile.conf
-PROG = lib$(LIB_NAME).so
+PROG = lib$(LIB_NAME).a
-ifeq ($(PROT), on)
-DEFS += -DLINPROT
-endif
-
-ifeq ($(DEMO), on)
-DEFS += -DDEMO
-endif
-
-ifeq ($(OS), bsd)
- ifeq ($(PROT), on)
- DEFS += -DFREEBDSPROT
- endif
-MAKE = gmake
-endif
-
-ifeq ($(OS), bsd5)
- ifeq ($(PROT), on)
- DEFS += -DFREEBDSPROT
- endif
-MAKE = gmake
-endif
+SEARCH_DIRS = -I ../../include -I . -I ./include
ifeq ($(STG_TIME), yes)
DEFS += -DSTG_TIME
endif
-ifneq ($(ADD_DEFS),)
-DEFS += $(ADD_DEFS)
+ifneq ($(LIB_DEFS),)
+DEFS += $(LIB_DEFS)
endif
-SEARCH_DIRS = -I $(DIR_INCLUDE) -I ./
+ifneq ($(LIB_INCS),)
+SEARCH_DIRS += $(LIB_INCS)
+endif
OBJS = $(notdir $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SRCS))))
-INST_INCS = $(addprefix $(DIR_INCLUDE)/, $(notdir $(INCS)))
-INST_LIBS = $(DIR_LIB)/lib$(LIB_NAME)
-
-CXXFLAGS += -fPIC $(DEFS)
-LDFLAGS += -shared -Wl,-rpath,$(PREFIX)/usr/lib/stg
-
-vpath %.so $(DIR_LIB)
+CXXFLAGS += -fPIC $(SEARCH_DIRS) $(DEFS)
+CFLAGS += -fPIC $(SEARCH_DIRS) $(DEFS)
all: $(PROG)
-$(PROG): $(OBJS) $(STGLIBS)
- $(CXX) $(LDFLAGS) -Wl,-soname,$(PROG) $^ $(LIBS) -o $(PROG) -L $(DIR_LIB)
+$(PROG): $(OBJS)
ar rc lib$(LIB_NAME).a $(OBJS)
ranlib lib$(LIB_NAME).a
- cp *.so $(DIR_LIB)
- cp *.a $(DIR_LIB)
-
-includes: $(INCS)
- cp -p $(INCS) $(DIR_INCLUDE)
clean:
rm -f deps $(PROG) *.o *.a *.so tags *.*~
- for file in $(INCS); do \
- rm -f $(DIR_INCLUDE)/$$file; \
- done
install: $(PROG)
+ifeq ($(DEBUG), yes)
+ mkdir -m $(DIR_MODE) -p $(PREFIX)/usr/lib/stg
+ install -m $(BIN_MODE) -o $(OWNER) $(PROG) $(PREFIX)/usr/lib/stg/$(PROG)
+else
mkdir -m $(DIR_MODE) -p $(PREFIX)/usr/lib/stg
install -m $(BIN_MODE) -o $(OWNER) -s $(PROG) $(PREFIX)/usr/lib/stg/$(PROG)
+endif
+ mkdir -m $(DIR_MODE) -p $(PREFIX)/usr/include/stg
+ install -m $(DATA_MODE) -o $(OWNER) $(addprefix include/stg/,$(INCS)) $(PREFIX)/usr/include/stg/
uninstall:
rm -f $(PREFIX)/usr/lib/stg/$(PROG)
+ for file in $(INCS); do \
+ rm -f $(PREFIX)/usr/include/stg/$$file; \
+ done
ifneq ($(MAKECMDGOALS),includes)
ifneq ($(MAKECMDGOALS),clean)
deps: $(SRCS) ../../Makefile.conf
@>deps ;\
for file in $(SRCS); do\
- echo "`$(CC) $(CXXFLAGS) $(SEARCH_DIRS) $(DEFS) -MM -MG $$file` Makefile ../../Makefile.conf" >> deps ;\
- echo -e '\t$$(CC) $(CXXFLAGS) $(SEARCH_DIRS) $(DEFS) -c $$<' >> deps ;\
+ echo "$$file" | grep ".c$$" > /dev/null;\
+ if [ $$? -eq 0 ];\
+ then\
+ echo "`$(CC) $(CFLAGS) -MM $$file` Makefile ../../Makefile.conf" >> deps ;\
+ printf '%b\n' '\t$$(CC) $(CFLAGS) -c $$<' >> deps ;\
+ else\
+ echo "`$(CXX) $(CXXFLAGS) -MM $$file` Makefile ../../Makefile.conf" >> deps ;\
+ printf '%b\n' '\t$$(CXX) $(CXXFLAGS) -c $$<' >> deps ;\
+ fi;\
done
-