Skip to content

Instantly share code, notes, and snippets.

@diorahman
Last active August 29, 2015 13:57
Show Gist options
  • Save diorahman/9478703 to your computer and use it in GitHub Desktop.
Save diorahman/9478703 to your computer and use it in GitHub Desktop.
1. g++ -Wall -fPIC -I . -I/home/aul/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/1.8/i686-linux -c -o objects/dataset.o dataset.cpp
2. g++ -shared objects/dataset.o ../lib/cppvector.so -o ../lib/dataset.so -L/home/aul/.rvm/rubies/ruby-1.8.7-p374/lib -lruby -Wl,--no-undefined
#!gnumake
LD = g++
FLAGS = -Wall -fPIC
INCLUDE = -I . -I$(RUBYINC)
#
all: lib_dir ../lib/$(OS_NAME)/cppvector.so ../lib/$(OS_NAME)/dataset.so ../lib/$(OS_NAME)/dcs.so ../lib/$(OS_NAME)/evt.so ../lib/$(OS_NAME)/norm_int.so
#
lib_dir:;
@mkdir -p ../lib/$(OS_NAME)
#
objects/%.o: %.cpp
$(LD) $(FLAGS) $(INCLUDE) -c -o objects/$*.o $*.cpp
#
../lib/$(OS_NAME)/%.so: objects/%.o
g++ -shared objects/$*.o -o ../lib/$(OS_NAME)/$*.so -L/home/diorahman/.rvm/rubies/ruby-1.8.7-p374/lib -lruby
@chmod 555 ../lib/$(OS_NAME)/$*.so
#
%.o: %.cpp
$(LD) $(FLAGS) $(INCLUDE) -c -o $*.o $*.cpp
#
%.so: %.o
g++ -shared $*.o -o $*.so
@chmod 555 $*.so
#
clean:;
@rm -f objects/*.o ../lib/$(OS_NAME)/*.so
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment