BUILD = buildapp CL = sbcl SYSTEM = $(shell uname -o) OUTPUT = rulp VERSION = 0.0.1 TOOLS = tools #create the directory ARCH = $(shell uname -m) # to be autogenerated INSTALL-PATH = $(RPM_BUILD_ROOT)/usr/ SHARE-PATH = $(RPM_BUILD_ROOT)/usr/share/rulp/ LOCAL-PATH = ~/.local/rulp/ DOC-PATH = $(RPM_BUILD_ROOT)/usr/share/man/ DEBIAN-PATH = $(OUTPUT)_$(VERSION)_$(ARCH) # check if RPM_BUILD_ROOT consider also a / at the end or not all: $(OUTPUT) $(info "all done") $(OUTPUT): $(BUILD) --asdf-tree ~/quicklisp/dists/ \ --load system.asd \ --load-system rulp \ --eval '(defparameter parameters:*rulp-version* "$(VERSION)")' \ --eval '(defparameter parameters:*rulp-arch* "$(ARCH)")' \ --eval '(defparameter parameters:*rulp-system* "$(SYSTEM)")' \ --eval '(defparameter parameters:*rulp-share* "$(SHARE-PATH)")' \ --eval '(defparameter parameters:*rulp-local* "$(LOCAL-PATH)")' \ --entry core:main \ --output $@ # $(CL) --load system.asd --eval "(progn (require :rulp) (asdf:make :rulp))" install: install -m 755 $(OUTPUT) $(INSTALL-PATH)/bin/$(OUTPUT) install -m 644 /documentation/* $(DOC-PATH)/ install -m 644 /media/* $(SHARE-PATH)/$(OUTPUT)/ deb: $(info "debian installation process") mkdir -p $(DEBIAN-PATH)/usr/bin mkdir -p $(DEBIAN-PATH)/DEBIAN cp $(TOOLS)/debian_control $(DEBIAN-PATH)/DEBIAN/ install -m 755 $(OUTPUT) $(DEBIAN-PATH)/usr/bin clean: rm -f $(OUTPUT) # this is optional and create a tag list, useful to develop with emacs. # it can be changed with ctags if vim is used instead etags: find . -regex ".*lisp" | xargs etags -o TAGS .PHONY: all clean etags