Add default target to "load" user design on caravel

- Also, don't save timestamp when gzipping files
diff --git a/Makefile b/Makefile
index 4a3ddd6..59724a4 100644
--- a/Makefile
+++ b/Makefile
@@ -6,6 +6,22 @@
 ARCHIVES := $(shell find . -type f -name "*.gz")
 ARCHIVE_SOURCES := $(basename $(ARCHIVES))
 
+ifndef PDK_ROOT
+$(error PDK_ROOT is undefined, please export it before running make)
+endif
+
+.DEFAULT_GOAL := ship
+
+# We need portable GDS_FILE pointers...
+.PHONY: ship
+ship: uncompress
+	@echo "###############################################"
+	@echo "Generating Caravel GDS (sources are in the 'gds' directory)"
+	@sleep 1
+	@cd mag && MAGTYPE=mag magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/current/sky130A.magicrc -noc -dnull mag2gds.tcl < /dev/null
+	mv mag/caravel_out.gds gds
+
+
 .PHONY: clean
 clean:
 	echo "clean"
@@ -19,10 +35,8 @@
 
 
 $(LARGE_FILES_GZ): %.gz: %
-	@if [ $(suffix $<) == ".gz" ]; then\
-		echo "Warning: $< is already compressed. Skipping...";\
-	else\
-		gzip $< > /dev/null &&\
+	@if ! [ $(suffix $<) == ".gz" ]; then\
+		gzip -n $< > /dev/null &&\
 		echo "$< -> $@";\
 	fi
 
@@ -34,7 +48,7 @@
 
 
 $(ARCHIVE_SOURCES): %: %.gz
-	@gzip -d $< &&\
+	gzip -d $< &&\
 	echo "$< -> $@"
 
 .PHONY: uncompress
diff --git a/mag/mag2gds.tcl b/mag/mag2gds.tcl
new file mode 100644
index 0000000..8fb640c
--- /dev/null
+++ b/mag/mag2gds.tcl
@@ -0,0 +1,32 @@
+drc off
+gds readonly true
+gds rescale false
+
+# Switch to GDS only (currently magic hangs if all statements are gds read?)
+load chip_io -dereference
+
+load gpio_control_block -dereference
+
+load mgmt_protect -dereference
+
+load simple_por -dereference
+
+load digital_pll -dereference
+load DFFRAM -dereference
+load mgmt_core -dereference
+
+gds read ../gds/sram_1rw1r_32_256_8_sky130_lp1.gds
+load storage -dereference
+
+load user_id_programming -dereference
+
+# Your project goes aboard here
+gds read ../gds/user_project_wrapper.gds
+
+load caravel -dereference
+
+select top cell
+
+# cif *hier write disable
+
+gds write caravel_out.gds