74 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| # Config
 | |
| chroot_dir=kore_chroot/
 | |
| mirror=http://dl-cdn.alpinelinux.org/alpine/
 | |
| arch=aarch64
 | |
| version=2.10.5-r0
 | |
| certbot_email=--register-unsafely-without-email
 | |
| #certbot_email=-m you@cock.li
 | |
| domain=test.monster
 | |
| 
 | |
| #Probably don't change stuff past here
 | |
| lua_files=$(shell find src/lua -type f)
 | |
| src_files=$(shell find src -type f) $(shell find conf -type f)
 | |
| sql_files=$(shell find src/sql -type f)
 | |
| built_files=$(lua_files:src/lua/%.lua=$(chroot_dir)%.lua)
 | |
| page_files=$(shell find src/pages -type f)
 | |
| built_pages=$(page_files:src/pages/%.etlua=$(chroot_dir)pages/%.etlua)
 | |
| built_sql=$(sql_files:src/sql/%.sql=$(chroot_dir)sql/%.sql)
 | |
| 
 | |
| all: $(chroot_dir) smr.so $(built_files) $(built_pages) $(built_sql)
 | |
| 	echo $(built_files)
 | |
| 	kodev run
 | |
| 
 | |
| apk-tools-static-$(version).apk:
 | |
| 	# wget -q $(mirror)latest-stable/main/$(arch)/apk-tools-static-$(version).apk
 | |
| 
 | |
| clean:
 | |
| 	kodev clean
 | |
| 
 | |
| $(chroot_dir): apk-tools-static-$(version).apk
 | |
| 	mkdir -p $(chroot_dir)
 | |
| 	mkdir -p $(chroot_dir)/pages
 | |
| 	mkdir -p $(chroot_dir)/sql
 | |
| 	mkdir -p $(chroot_dir)/data
 | |
| 	#cd $(chroot_dir) && tar -xvzf ../apk-tools-static-*.apk
 | |
| 	#cd $(chroot_dir) && sudo ./sbin/apk.static -X $(mirror)latest-stable/main -U --allow-untrusted --root $(chroot_dir) --no-cache --initdb add alpine-base
 | |
| 	#ln -s /dev/urandom $(chroot_dir)/dev/random #Prevent an attacker with access to the chroot from exhausting our entropy pool and causing a dos
 | |
| 	#ln -s /dev/urandom $(chroot_dir)/dev/urandom
 | |
| 	#mount /dev/ $(chroot_dir)/dev --bind
 | |
| 	#mount -o remount,ro,bind $(chroot_dir)/dev
 | |
| 	#mount -t proc none $(chroot_dir)/proc
 | |
| 	#mount -o bind /sys $(chroot_dir)/sys
 | |
| 	#cp /etc/resolv.conf $(chroot_dir)/etc/resolv.conf
 | |
| 	#echo "$(mirror)/$(branch)/main" > $(chroot)/etc/apk/repositories
 | |
| 	#echo "$(mirror)/$(branch)/community" >> $(chroot)/etc/apk/repositories
 | |
| 	#cp /etc/apk/repositories $(chroot_dir)/etc/apk/repositories
 | |
| 	#mkdir $(chroot_dir)/var/sm
 | |
| 	## Things to build lua libraries
 | |
| 	#chroot $(chroot_dir) apk add luarocks5.1 sqlite sqlite-dev lua5.1-dev build-base zlib zlib-dev
 | |
| 	#chroot $(chroot_dir) luarocks-5.1 install etlua
 | |
| 	#chroot $(chroot_dir) luarocks-5.1 install lsqlite3
 | |
| 	#chroot $(chroot_dir) luarocks-5.1 install lpeg
 | |
| 	#chroot $(chroot_dir) luarocks-5.1 install lua-zlib ZLIB_LIBDIR=/lib #for some reason lzlib looks in /usr/lib for libz, when it needs to look at /lib
 | |
| 	## Once we've built + installed everything, delete extra stuff from the chroot
 | |
| 	#chroot $(chroot_dir) apk del sqlite-dev lua5.1-dev build-base zlib-dev
 | |
| 	## SSL certificates, if you don't trust EFF (they have an antifa black block member as their favicon at time of writing) you may want to replace this.
 | |
| 	#chroot $(chroot_dir) apk add certbot
 | |
| 	## After chroot, apk add luarocks5.1 sqlite sqlite-dev lua5.1-dev build-base
 | |
| 	## After chroot, luarocks install etlua; luarocks install lsqlite3
 | |
| 
 | |
| code : $(built_files)
 | |
| 
 | |
| $(built_files): $(chroot_dir)%.lua : src/lua/%.lua
 | |
| 	echo built files: $(built_files)
 | |
| 	cp $^ $@
 | |
| 
 | |
| $(built_pages): $(chroot_dir)pages/%.etlua : src/pages/%.etlua
 | |
| 	cp $^ $@
 | |
| 
 | |
| $(built_sql): $(chroot_dir)sql/%.sql : src/sql/%.sql
 | |
| 	cp $^ $@
 | |
| 
 | |
| smr.so : $(src_files)
 | |
| 	kodev build
 |