Browse Source

[Makefile] add targets for .i and .s

For prepossessed file, .i for .c and .s for .S are commonly used.
not .e.
This patch adds rules to produce .i/.s file in addition to .e.

Signed-off-by: Isaku Yamahata <isaku.yamahata@gmail.com>
Isaku Yamahata 5 years ago
parent
commit
38ac39810e

+ 3 - 0
.gitignore

@@ -4,3 +4,6 @@
 /Jenkinsfiles/JenkinsfileSGX-*
 
 .lib
+*.i
+*.s
+*.e

+ 6 - 2
LibOS/shim/src/Makefile

@@ -117,15 +117,19 @@ elf/shim_rtld.o: $(wildcard elf/*.h)
 	@echo [ $@ ]
 	@$(CC) $(CFLAGS) $(defs) -c $< -o $@
 
-%.e: %.c $(headers)
+%.e %.i: %.c $(headers)
 	@echo [ $@ ]
 	@$(CC) $(CFLAGS) $(defs) -E $< -o $@
 
+%.s: %.c $(headers)
+	@echo [ $@ ]
+	@$(CC) $(CFLAGS) $(defs) -S $< -o $@
+
 %.o: %.S $(headers)
 	@echo [ $@ ]
 	@$(AS) $(ASFLAGS) $(defs) -c $< -o $@
 
-%.e: %.S $(headers)
+%.e %.s: %.S $(headers)
 	@echo [ $@ ]
 	@$(AS) $(ASFLAGS) $(defs) -E $< -o $@
 

+ 6 - 1
Pal/src/Makefile

@@ -157,11 +157,16 @@ $(OBJ_DIR)/%.o: %.c $(headers)
 	@echo [ $@ ]
 	@$(CC) $(CFLAGS) $(defs) -c $< -o $@ $(CFLAGS-suffix)
 
-$(OBJ_DIR)/%.e: %.c $(headers)
+$(OBJ_DIR)/%.e $(OBJ_DIR)/%.i: %.c $(headers)
 	@mkdir -p $(OBJ_DIR)
 	@echo [ $@ ]
 	@$(CC) $(CFLAGS) $(defs) -E $< -o $@ $(CFLAGS-suffix)
 
+$(OBJ_DIR)/%.s: %.c $(headers)
+	@mkdir -p $(OBJ_DIR)
+	@echo [ $@ ]
+	@$(CC) $(CFLAGS) $(defs) -S $< -o $@ $(CFLAGS-suffix)
+
 .PHONY: clean
 clean:
 	rm -rf $(LIB_DIR) $(OBJ_DIR) $(files_to_build)

+ 6 - 2
Pal/src/host/FreeBSD/Makefile

@@ -39,15 +39,19 @@ libpal-FreeBSD.a: $(addsuffix .o,$(objs)) $(graphene_lib)
 	@echo [ host/FreeBSD/$@ ]
 	@$(CC) $(CFLAGS) $(defs) -c $< -o $@
 
-%.e: %.c $(headers)
+%.e %.i: %.c $(headers)
 	@echo [ host/FreeBSD/$@ ]
 	@$(CC) $(CFLAGS) $(defs) -E $< -o $@
 
+%.s: %.c $(headers)
+	@echo [ host/FreeBSD/$@ ]
+	@$(CC) $(CFLAGS) $(defs) -S $< -o $@
+
 %.o: %.S $(headers)
 	@echo [ host/FreeBSD/$@ ]
 	@$(AS) $(ASFLAGS) $(defs) -c $< -o $@
 
-%.e: %.S $(headers)
+%.e %.s: %.S $(headers)
 	@echo [ host/FreeBSD/$@ ]
 	@$(AS) $(ASFLAGS) $(defs) -E $< -o $@
 

+ 25 - 1
Pal/src/host/Linux-SGX/Makefile

@@ -41,10 +41,22 @@ $(addsuffix .e,$(enclave-objs)): %.e: %.c $(headers)
 	@echo [ host/Linux-SGX/$@ ]
 	@$(CC) $(CFLAGS) $(defs) -DIN_ENCLAVE -E $< -o $@
 
+$(addsuffix .i,$(enclave-objs)): %.i: %.c $(headers)
+	@echo [ host/Linux-SGX/$@ ]
+	@$(CC) $(CFLAGS) $(defs) -DIN_ENCLAVE -E $< -o $@
+
+$(addsuffix .s,$(enclave-objs)): %.s: %.c $(headers)
+	@echo [ host/Linux-SGX/$@ ]
+	@$(CC) $(CFLAGS) $(defs) -DIN_ENCLAVE -S $< -o $@
+
 $(addsuffix .o,$(enclave-asm-objs)): %.o: %.S $(headers)
 	@echo [ host/Linux-SGX/$@ ]
 	@$(AS) $(ASFLAGS) $(defs) -DIN_ENCLAVE -c $< -o $@
 
+$(addsuffix .s,$(enclave-asm-objs)): %.s: %.S $(headers)
+	@echo [ host/Linux-SGX/$@ ]
+	@$(AS) $(ASFLAGS) $(defs) -DIN_ENCLAVE -E $< -o $@
+
 $(addsuffix .o,$(urts-objs)): %.o: %.c $(headers)
 	@echo [ host/Linux-SGX/$@ ]
 	@$(CC) $(filter-out -DIN_ENCLAVE,$(CFLAGS)) $(defs) -c $< -o $@
@@ -53,6 +65,18 @@ $(addsuffix .e,$(urts-objs)): %.e: %.c $(headers)
 	@echo [ host/Linux-SGX/$@ ]
 	@$(CC) $(filter-out -DIN_ENCLAVE,$(CFLAGS)) $(defs) -E $< -o $@
 
+$(addsuffix .i,$(urts-objs)): %.i: %.c $(headers)
+	@echo [ host/Linux-SGX/$@ ]
+	@$(CC) $(filter-out -DIN_ENCLAVE,$(CFLAGS)) $(defs) -E $< -o $@
+
+$(addsuffix .s,$(urts-objs)): %.s: %.c $(headers)
+	@echo [ host/Linux-SGX/$@ ]
+	@$(CC) $(filter-out -DIN_ENCLAVE,$(CFLAGS)) $(defs) -S $< -o $@
+
+$(addsuffix .s,$(urts-asm-objs)): %.s: %.S $(headers)
+	@echo [ host/Linux-SGX/$@ ]
+	@$(AS) $(filter-out -DIN_ENCLAVE,$(ASFLAGS)) $(defs) -E $< -o $@
+
 $(addsuffix .o,$(urts-asm-objs)): %.o: %.S $(headers)
 	@echo [ host/Linux-SGX/$@ ]
 	@$(AS) $(filter-out -DIN_ENCLAVE,$(ASFLAGS)) $(defs) -c $< -o $@
@@ -74,4 +98,4 @@ CLEAN_FILES += debugger/sgx_gdb.o
 
 .PHONY: clean
 clean:
-	rm -f *.o *.e $(host_files) $(CLEAN_FILES)
+	rm -f *.o *.e *.i *.s $(host_files) $(CLEAN_FILES)

+ 6 - 2
Pal/src/host/Linux/Makefile

@@ -40,15 +40,19 @@ libpal-Linux.a: $(addsuffix .o,$(objs)) $(graphene_lib)
 	@echo [ host/Linux/$@ ]
 	@$(CC) $(CFLAGS) $(defs) -c $< -o $@
 
-%.e: %.c $(headers)
+%.e %.i: %.c $(headers)
 	@echo [ host/Linux/$@ ]
 	@$(CC) $(CFLAGS) $(defs) -E $< -o $@
 
+%.s: %.c $(headers)
+	@echo [ host/Linux/$@ ]
+	@$(CC) $(CFLAGS) $(defs) -S $< -o $@
+
 %.o: %.S $(headers)
 	@echo [ host/Linux/$@ ]
 	@$(AS) $(ASFLAGS) $(defs) -c $< -o $@
 
-%.e: %.S $(headers)
+%.e %.s: %.S $(headers)
 	@echo [ host/Linux/$@ ]
 	@$(AS) $(ASFLAGS) $(defs) -E $< -o $@
 

+ 5 - 1
Pal/src/security/Linux/Makefile

@@ -27,10 +27,14 @@ libpal_sec.so: $(addsuffix .o,$(objs)) $(graphene_lib)
 	@echo [ security/Linux/$@ ]
 	@$(CC) $(CFLAGS) -c $< -o $@
 
-%.e: %.c
+%.e %.i: %.c
 	@echo [ security/Linux/$@ ]
 	@$(CC) $(CFLAGS) -E $< -o $@
 
+%.s: %.c
+	@echo [ security/Linux/$@ ]
+	@$(CC) $(CFLAGS) -S $< -o $@
+
 .PHONY: clean
 clean:
 	rm -rf *.o libpal_sec.so