]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/Makefile.in
Don't compile c-file s with cxx-compiler. Clang doesn't like it.
[stg.git] / projects / stargazer / plugins / Makefile.in
index 2b255304f646e9b433a58a070d6a646716bd72d2..36aebbef5068c54442803dac21678591f847b76e 100644 (file)
@@ -8,15 +8,24 @@ OBJS = $(notdir $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SRCS))))
 
 LN = ln
 
 
 LN = ln
 
-CXXFLAGS += -fPIC
-LDFLAGS += -shared -L$(DIR_LIB) -Wl,-rpath,$(PREFIX)/usr/lib/stg
+STGLIBS_INCS = $(addprefix -I ../../../../../stglibs/,$(addsuffix .lib/include,$(STGLIBS)))
+STGLIBS_PATHS = $(addprefix -L ../../../../../stglibs/,$(addsuffix .lib,$(STGLIBS)))
 
 
-vpath %.a $(DIR_LIB)
+STGLIBS_LIBS = $(addprefix -lstg,$(STGLIBS))
+
+CXXFLAGS += -fPIC $(DEFS) $(SEARCH_DIRS) $(STGLIBS_INCS)
+CFLAGS += -fPIC $(DEFS) $(SEARCH_DIRS) $(STGLIBS_INCS)
+
+ifneq ($(OS),darwin)
+LDFLAGS += -shared -Wl,-rpath,$(PREFIX)/usr/lib/stg
+else
+LDFLAGS += -dynamiclib -undefined suppress -flat_namespace -Wl,-rpath,$(PREFIX)/usr/lib/stg
+endif
 
 all: $(PROG)
 
 
 all: $(PROG)
 
-$(PROG): $(OBJS) $(STGLIBS)
-       $(CXX) $^ $(LDFLAGS) $(LIBS) -o $(PROG)
+$(PROG): $(OBJS)
+       $(CXX) $^ $(LDFLAGS) $(STGLIBS_PATHS) $(STGLIBS_LIBS) $(LIBS) -o $(PROG)
        $(LN) -fs "`pwd`/$(PROG)" $(DIR_MOD)/$(PROG)
 
 clean:
        $(LN) -fs "`pwd`/$(PROG)" $(DIR_MOD)/$(PROG)
 
 clean:
@@ -24,7 +33,11 @@ clean:
 
 install: $(PROG)
        mkdir -m $(DIR_MODE) -p $(PREFIX)/usr/lib/stg
 
 install: $(PROG)
        mkdir -m $(DIR_MODE) -p $(PREFIX)/usr/lib/stg
+ifeq ($(DEBUG), yes)
+       install -m $(BIN_MODE) -o $(OWNER) $(PROG) $(PREFIX)/usr/lib/stg/$(PROG)
+else
        install -m $(BIN_MODE) -o $(OWNER) -s $(PROG) $(PREFIX)/usr/lib/stg/$(PROG)
        install -m $(BIN_MODE) -o $(OWNER) -s $(PROG) $(PREFIX)/usr/lib/stg/$(PROG)
+endif
 
 uninstall:
        rm -f $(PREFIX)/usr/lib/stg/$(PROG)
 
 uninstall:
        rm -f $(PREFIX)/usr/lib/stg/$(PROG)
@@ -38,6 +51,13 @@ endif
 deps:  $(SRCS) ../../../../../Makefile.conf
        @>deps ;\
        for file in $(SRCS); do\
 deps:  $(SRCS) ../../../../../Makefile.conf
        @>deps ;\
        for file in $(SRCS); do\
-         echo "`$(CC) $(CXXFLAGS) $(DEFS) $(SEARCH_DIRS) -MM $$file` Makefile ../../../../../Makefile.conf" >> deps ;\
-         echo -e '\t$$(CC) -c $$< $(CXXFLAGS) $(SEARCH_DIRS) $(DEFS)' >> deps ;\
+         echo "$$file" | grep ".c$$" > /dev/null;\
+         if [ $$? -eq 0 ];\
+         then\
+           echo "`$(CC) $(CFLAGS) $(DEFS) $(SEARCH_DIRS) -MM $$file` Makefile ../../../../../Makefile.conf" >> deps ;\
+           printf '%b\n' '\t$$(CC) -c $$< $(CFLAGS) $(SEARCH_DIRS) $(DEFS)' >> deps ;\
+         else\
+           echo "`$(CXX) $(CXXFLAGS) $(DEFS) $(SEARCH_DIRS) -MM $$file` Makefile ../../../../../Makefile.conf" >> deps ;\
+           printf '%b\n' '\t$$(CXX) -c $$< $(CXXFLAGS) $(SEARCH_DIRS) $(DEFS)' >> deps ;\
+         fi;\
        done
        done