| 
									
										
										
										
											2023-07-19 20:13:35 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-20 01:27:58 +02:00
										 |  |  | # Need to use g++ because the sdk headers use classes
 | 
					
						
							|  |  |  | CC=g++ | 
					
						
							| 
									
										
										
										
											2023-07-20 18:05:40 +02:00
										 |  |  | INCLUDES=-Isrc/include/sdk/common -Isrc/include/sdk/public -Isrc/include/sdk/pm_shared -Isrc/include/sdk/engine | 
					
						
							| 
									
										
										
										
											2023-07-20 01:27:58 +02:00
										 |  |  | CFLAGS=-Wall -Wextra -Wno-write-strings -m32 -fPIC $(INCLUDES) | 
					
						
							| 
									
										
										
										
											2023-07-19 20:13:35 +02:00
										 |  |  | LDFLAGS= | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-20 17:44:26 +02:00
										 |  |  | OBJS=obj/main.c.o obj/globals.c.o obj/hooks.c.o | 
					
						
							| 
									
										
										
										
											2023-07-19 20:13:35 +02:00
										 |  |  | BIN=libhlcheat.so | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: clean all inject | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # -------------------------------------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | all: $(BIN) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | clean: | 
					
						
							|  |  |  | 	rm -f $(OBJS) | 
					
						
							|  |  |  | 	rm -f $(BIN) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-20 01:27:58 +02:00
										 |  |  | inject: $(BIN) | 
					
						
							| 
									
										
										
										
											2023-07-19 20:13:35 +02:00
										 |  |  | 	bash ./inject.sh | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # -------------------------------------------
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # -fPIC (in CFLAGS) and -shared for creating a library (shared object)
 | 
					
						
							|  |  |  | # -m32 (in CFLAGS) because of the game's arch
 | 
					
						
							|  |  |  | $(BIN): $(OBJS) | 
					
						
							|  |  |  | 	$(CC) $(CFLAGS) -shared -o $@ $(OBJS) $(LDFLAGS) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $(OBJS): obj/%.c.o : src/%.c | 
					
						
							|  |  |  | 	@mkdir -p obj/ | 
					
						
							|  |  |  | 	$(CC) $(CFLAGS) -c -o $@ $< $(LDFLAGS) |